DirectX 11 steam.dll overhead on Windows 7 - directx-11

I have dx11 app which drops performance on win7 when linked with steam.dll.
App hangs in dx11.device->CreateDeferredContext for ~8ms in ~75% frames in main thread.
No such issue in app built without steam. Also cannot reproduce on win10.
I suspect that Steam hooks DirectX calls and does something to them, like adding additional synchronization or something.
Any help is appreciated.
App info:
32 bit app built on Windows 10 with visual studio 2017 (version 15.4.5)
command buffers with deferred context are created each frame (hang is there)
Swapchain present mode for Windows 7: DXGI_SWAP_EFFECT_SEQUENTIAL with VSync
Problem environment:
Lenovo laptop with Windows 7
NVidia GeForce 840m with 378.66 driver
DirectX feature level 11.0
Disabling "steam overlay" in steam client settings doesn't help
GPU frame time according to performance queries is low (~5ms)

Related

Android Emulator, graphical glitches on Windows 11

I have a Windows 11 machine, with a RTX 3050 graphics card. It's a Dell G15 laptop. I cannot find a (good) solution to the graphical glitches that appears on an Android Emulator.
The only "solution" I found was to change the hw.gpu.mode in the config.ini file from auto to guest. That fixes the glitches, but causes really bad performance issues and one app I developed with Flutter for my company straight up doesn't load. (loads when hw.gpu.mode=auto).
I'd appreciate if you can point me to the right direction to solving this. Let me know if you need any other details about my machine:
OS: Windows 11 Home Single Language [64-bit]
Kernel: 10.0.22000.0
CPU: 11th Gen Intel(R) Core(TM) i5-11260H # 2.60GHz
GPU: NVIDIA GeForce RTX 3050 Laptop GPU
Nvidia driver version: 516.94 (Downloaded the "Game ready driver" from GeForce Experience)
This problem is only on emulators with android 12+, personally i installed a device with android 11 and a second device with android13 for tests.
It seems like dedicated Nvidia GPU's are causing the problem. I have a 3060 laptop and I have the same issue and when I set it to guest it seems to work. My guess is that setting changes it from using the GPU to the CPU. I would recommend you try setting android studio to use integrated graphics instead of dedicated. Since I have a 8 core CPU compared to a 4 core CPU of yours, I'm guessing that's the reason I don't get as bad performance

Android emulator slow after restarting computer

After restarting my computer the Android emulator is very slow on visual studio 2015, but after a few hours of running it's back at normal speed.
While the emulator is slow I constantly get messages like process system isn't responding, settings isn't responding, launcher3 isn't responding.
Emulator specs:
Android 6.0 - API Level 23
CPU : Intel Atom(x86)
RAM: 1835 VM Heap: 128
Internal Storage: 800
SD Card: 100
Use Host GPU enabled
Anyone know the cause of this happening?
Finally fixed it.
In my case, I have a laptop with an extra graphic's card.
After changing settings in the nvidia panel: Control 3D settings -> Prefer nvidia processor.
then
right click AVD Manager.exe -> execute with graphic processor.
That fixed it for me

Is Direct3D 12 supported on Windows 10 Mobile (phone)?

Is Direct3D 12 supported on Windows 10 Mobile (phone)? I've recently upgrade my personal project to Direct3D 12 under the impression that it runs on all versions of Windows 10 Universal Apps. My phone ran my old Direct3D 11.1 code just fine, but D3D12CreateDevice() fails with the error that the specified feature level (11_0, 11_1, 12_0, or 12_1) or interface (ID3D12Device) is not supported. Am I doing something wrong, or is D3D12 really not supported on phones? If it isn't supported, will it ever be? I don't mind just developing on PC for now, but I'd rather know now it will never be supported.
https://msdn.microsoft.com/en-us/library/windows/desktop/dn899228(v=vs.85).aspx says:
Direct3D 12 provides four main benefits
[...], and cross-platform development for a
Windows 10 device (PC, tablet, console or phone).
https://msdn.microsoft.com/en-us/library/windows/desktop/dn899118(v=vs.85).aspx says:
To program with Direct3D 12, you need these components:
A hardware platform with a Direct3D 12-compatible GPU
Display drivers that support the Windows Display Driver Model (WDDM) 2.0

Initializing D3D12 debug interfaces failing on laptop with GeForce 960M

When I try to call D3D12GetDebugInterface or CreateDXGIFactory2 with the flag DXGI_CREATE_FACTORY_DEBUG, the calls are failing on my laptop, but not on my desktop. Other calls work fine on the laptop and I can render stuff -- I just can't initialize the debug layer. The desktop has an oldish GeForce 650 Ti, and the laptop is a Dell XPS15 laptop (latest gen), which has a GeForce GTX 960M. Both have the latest drivers (361.43). Any ideas what could be going wrong?
I posted on the NVIDIA devtalk forum first, but cross-posted to stackoverflow because the official NVIDIA forum seems pretty dead.
For Direct3D 12, both the debug layer and the WARP12 device are part of the Graphics Tools feature-on-demand which is not part of the default install. You need to enable it on your desktop system.
This FOD package is specific to your version of Windows 10. If you had it enabled but then upgrade the OS (say from 10240 to 10586) the existing Graphics Tools feature-on-demand is disabled. You need to re-enable it so the newer matching version can be installed.
See Visual C++ Team Blog

Android emulator faster and smoother then real device

August 2013:
I have Android NDK Open GLES 2.0 simple Match3 game built for atom CPU
GPU and HAXM is enabled in emulator.
I run it on laptop (iCore 5 8GB, ATI Radeon HD 1GB) and PC (Core 2 Duo 8GB ATI Radeon 512MB) in emulator
Game runs smooth on all devices but not in emulator.
My question is "Why I see lags on PC and laptop?"
I read many posts and they advice to enable HAXM, GPU and build for atom.
OpenGL games run smooth on these PCs.
WebGL sites run smooth.
I think emulator with HAXM must run atom code on Intel CPU faster then mobile runs ARM code.
Also I think Desktop GPU must emulate OpenGLES 2.0 faster then mobile GPU does that.
What chain course lags ?
That question was asked many times in different forms but there is persistent improvements in emulator.
I think emulator of today August 2013 must run (NDK+atom+GPU) code faster then any phone just because it is same native 1 to 1 codes that run on more powerful, more hotter CPU and GPU.
I am able to record video of OpenGL game on my desktop.
I wish to record game play of Android game as well.
That is why I wish to run it smooth at 30-60 FPS.
Does http://www.android-x86.org/ in VirtualBox may offer smoother gameplay ?
have you tried using genymotion, it is the fastest emulator out there on the market right now

Resources