by Rachael » Mon Apr 09, 2018 12:32 am
@ Graf:
I suspect the problem is a large resolution display reveals a rather ugly underlying problem. Optimus syncs utterly terribly in DWM.exe (thanks again for the poor design choices, Microsoft!) and this can actually be hidden when frame rates are very high, like more than 4 times the display's refresh rate. Since the software renderer is not that fast, that means a lower frame rate obviously (still technically >60 but not visibly, and just barely at that even), but also much poorer sync.
Having an Optimus laptop myself, I have experienced a myriad of these sync issues. If my suspicions are correct, the only thing that happened here was in the OP's case the hardware renderer was running quick enough that he did not notice the frame lag that was actually happening.
However, if I am wrong then you might actually be correct since GZDoom currently defaults to rendering on an ancient Direct3D backend. If that's the case, and this is an issue I've never experienced with Optimus, then you'd be right that the unification would fix the problem - but it seems to me rather unlikely that will be the case.
Basically, what it comes down to is DWM.exe is a shitty piece of software.
Also - on a more technical note, if you want to know what Optimus actually does - it's basically using the Intel processor entirely for both the display adapter and the video memory, as well as copying the framebuffer from the NVidia render. The NVidia chip functions as nothing more than a D3D/OGL/Vulkan drawer, and it renders to a texture that Intel picks up and places inside of its video memory using accelerated 2D functions. If the sync events are out of whack, you can imagine how this would cause terrible lag.
@ Graf:
I suspect the problem is a large resolution display reveals a rather ugly underlying problem. Optimus syncs utterly terribly in DWM.exe (thanks again for the poor design choices, Microsoft!) and this can actually be hidden when frame rates are very high, like more than 4 times the display's refresh rate. Since the software renderer is not that fast, that means a lower frame rate obviously (still technically >60 but not visibly, and just barely at that even), but also much poorer sync.
Having an Optimus laptop myself, I have experienced a myriad of these sync issues. If my suspicions are correct, the only thing that happened here was in the OP's case the hardware renderer was running quick enough that he did not notice the frame lag that was actually happening.
However, if I am wrong then you might actually be correct since GZDoom currently defaults to rendering on an ancient Direct3D backend. If that's the case, and this is an issue I've never experienced with Optimus, then you'd be right that the unification would fix the problem - but it seems to me rather unlikely that will be the case.
Basically, what it comes down to is DWM.exe is a shitty piece of software.
Also - on a more technical note, if you want to know what Optimus actually does - it's basically using the Intel processor entirely for both the display adapter and the video memory, as well as copying the framebuffer from the NVidia render. The NVidia chip functions as nothing more than a D3D/OGL/Vulkan drawer, and it renders to a texture that Intel picks up and places inside of its video memory using accelerated 2D functions. If the sync events are out of whack, you can imagine how this would cause terrible lag.