VOGONS

Common searches


First post, by UCyborg

User metadata
Rank Member
Rank
Member

I'm curious, since Windows 10 introduced built-in settings for setting preference for either integrated graphics processor or discrete graphics processor on per-app basis, is this any different in practice than equivalent settings in bundled applications that come with graphics drivers, eg. NVIDIA Control Panel, particularly when it comes to games using Direct3D 8 or older for rendering? Can these games be rendered on a discrete GPU without using a wrapper such as dgVoodoo?

My guess would be that it makes no difference due to how these technologies (NVIDIA Optimus, AMD Switchable Graphics) are implemented under the hood, but since I didn't find anything on the matter, I thought I'd ask here if anyone has the experience with such setup and whether these options now being available in Windows can allow games using Direct3D 8 and older to run on discrete GPU without wrappers.

And in either case, i'd like to know whether these limitations are due to the way graphics drivers are implemented or does it have to do with Windows' graphics stack/kernel/whatever.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 2 of 24, by UCyborg

User metadata
Rank Member
Rank
Member

Settings app->System->Display->Graphics settings

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 5 of 24, by UCyborg

User metadata
Rank Member
Rank
Member

AFAIK, Intel GPU is always available for rendering on such configurations. The catch is, any GPU can always be selected if you have multiple independent GPUs. But in the case of NVIDIA Optimus and similar, even if you can select discrete GPU for rendering, Intel GPU will always be the one outputting to the screen. Some mechanism is used to share the frame buffer since the screen isn't connected to the discrete GPU.

Halo 2 is DX9, so selecting either mode should be effective. I guess you could try 3D Mark 2001 SE. Since it's DX8, it should be rendered by integrated GPU by default. See if you can get it to use discrete GPU (without using any wrapper, of course).

If there's no other way to tell, I guess the performance should tell which GPU is used. Though 3D Mark also has output device selection option, where discrete GPU may appear if you try to force high performance GPU for it in Win10 graphics settings (if it works by any chance for DX8).

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 6 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Of course I'll see by the performance, but my question is indipendent: why RTSS can't monitor halo 2 in such optimus-like - let's name it so - configuration (no hooking at all/ no output to the monitor/DX9b limitation) ?
Diablo 3 - DX11 x64 - CAN be monitored by RTSS in such configuration (and i can see ALL the 2 GPUs working an related memories loaded).

Reply 7 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

I'm testing Unreal Gold 226f with the original renderer (ddraw - DX6/7 era)....."power saving" (Integrated Graphics) option seems NOT working in windowed mode (to avoid 60 FPS cap in fullscreen mode of old ddraw applications the windowed mode is needed).....the discrete (MAIN) GPU is always preferred (-> timedemo 1)

Reply 8 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
lowenz wrote:

Of course I'll see by the performance, but my question is indipendent: why RTSS can't monitor halo 2 in such optimus-like - let's name it so - configuration (no hooking at all/ no output to the monitor/DX9b limitation) ?
Diablo 3 - DX11 x64 - CAN be monitored by RTSS in such configuration (and i can see ALL the 2 GPUs working an related memories loaded).

🤣, I found a way to answer by myself 😁

UT3 can run in this "power saving" configuration (forced by Windows using the dangling Intel GPU) AND I can monitor the FPS from the game itself (classic stat fps command): so I can say RTSS hooks the process nonetheless, it CAN force the scanline sync (->I can get the VSync without any latency, it's the magic of the last version of RTSS) but it CAN'T show the overlay.....so the problem is only related to the overlay! 😀

Reply 9 of 24, by UCyborg

User metadata
Rank Member
Rank
Member

Interesting results...from what I could gather, people had problems with their games being stuck on the integrated GPU. I wouldn't guess that Unreal Gold would be stuck on the discrete GPU in windowed mode, I thought it would be the other way around.

I don't have all the answers, no idea why overlay wouldn't in the scenario you described. Perhaps RTSS developers could answer that question.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 10 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

RTSS monitoring features and "power saving" configuration work well with DXGI. No problem in monitoring this configuration with Diablo3 x64 DX11 or Unity DX11 games (Underworld Ascendant).
So it's a limitation of D3D9 interface.

Last edited by lowenz on 2019-01-08, 13:00. Edited 1 time in total.

Reply 16 of 24, by UCyborg

User metadata
Rank Member
Rank
Member
lowenz wrote:

So, any other questions about?

No.

lowenz wrote:

Anyone can suggest me some DX9*EX* games to test? Thanks

Source engine uses it, at least certain versions of it. Can supposedly be disabled with -nod3d9ex command line parameter.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 17 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Tested with PPSSPP: https://www.ppsspp.org/ (it has a d3d9EX backend)

NO RTSS OSD available using the power saving config (=using the Intel HD for the rasterization) in D3D9EX.

OSD available using D3D11 backend (and you can easely select the GPU in the application too :p )

Reply 18 of 24, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

DX12 (tested Hitman benchmark) works as expected.

RTSS OSD monitoring is available running the game in "power saving" (iGPU) configuration even NOT choosing the iGPU in the option menu (it's possible) but forcing it through windows.

So D3D10/11/12 applications in theory are totally compatible with the power saving configuration and interprocecess monitoring/hooking.
D3D9/D3DEX applications seem not so monitoring-friendly (still work but no OSD available)
Pre-D3D9 applications seem to use only the main GPU of the system, in power saving configuration too (so the better solution to force the use of the iGPU in this pre-d3d9 scenario is to wrap the application via dgVoodoo2).

Reply 19 of 24, by UCyborg

User metadata
Rank Member
Rank
Member

So if I understand correctly, in your system, NVIDIA GPU is the main one. One of your screenshots also shows monitor being connected to it. So that thing in Windows settings doesn't change anything for when graphics is driven through older APIs, the main GPU is always used. Whether main GPU is the one meant for better performance or less power consumption is system dependent.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.