Windows 10, hybrid GPU setups and DirectX <= 8

Getting old Windows games working.

Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2018-12-26 @ 12:26

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.
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 15:06

Where is hidden this setting? (per app choice I mean)
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2019-1-07 @ 16:49

Settings app->System->Display->Graphics settings
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 18:49

I've totally misunderstood that option for so long LOL! ("optimize for Classic App / Universal App" sort of LOL!)
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 21:43

Halo 2 tested with the "power saving GPU" (the Intel one), all seems work fine but how to monitor it? RTSS can't hook the process this way.....
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2019-1-07 @ 22:18

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).
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 22:48

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).
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 23:13

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)
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-07 @ 23:37

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).

LOL, I found a way to answer by myself :D

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! :)
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2019-1-08 @ 11:37

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.
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-08 @ 12:22

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-1-08 @ 13:00, edited 1 time in total.
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Postby lowenz » 2019-1-08 @ 12:40

;)

Image
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-08 @ 15:00

This power saving configuration seems to NOT work with OpenGL titles too (only got tested old games for now).
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-08 @ 21:04

Anyone can suggest me some DX9*EX* games to test? Thanks
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-09 @ 02:02

D3D10+Power Saving Configuration+RTSS Monitoring working too:

Image
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-11 @ 15:10

So, any other questions about?
lowenz wrote:Anyone can suggest me some DX9*EX* games to test? Thanks
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2019-1-11 @ 21:12

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.
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-12 @ 13:04

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 )
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby lowenz » 2019-1-12 @ 14:36

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).
lowenz
Oldbie
 
Posts: 1138
Joined: 2014-12-20 @ 01:30

Re: Windows 10, hybrid GPU setups and DirectX <= 8

Postby UCyborg » 2019-1-12 @ 16:33

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.
UCyborg
Member
 
Posts: 290
Joined: 2015-9-04 @ 11:10

Next

Return to Windows

Who is online

Users browsing this forum: No registered users and 3 guests