Forum Discussion
galopin
10 years agoHeroic Explorer
Mirroring on the desktop introduce frame drops
Hi, I notice that keeping alive a windowed swap chain introduce a lot of hitches even when the application run fast enough. By skipping the Present call the app run at a smooth 75Hz ( and could ha...
galopin
10 years agoHeroic Explorer
"thewhiteambit" wrote:
so this seems to be a timing problem...
Everything is about timing, Present is also the black box that hide most of the driver stuff. Optimizing most d3d call is for glory when they are just lazy calls and your Present is milliseconds fat to resolve them in an obscure way.
A is the order samples of Oculus use, and it is logical as the mirror texture is update from submitFrame, but in my case B is better, and not calling Present spare a little more cpu time.
While profiling either way, i can see submit and present to take quite some times, submit is understandable because of the vsync, but present should not when it arrives second as the frame should have been flushed already. I need to do some more testing with forced call to ID3D11DeviceContext::Flush.
My attempt to GPUView capture did not help because it slowdown the app too much and so drop vbls, i need to see if i can lower the capture overhead.
May also be some bad interaction of queueahead and dxgidevice::setmaxframelatency.
It would be nice to have a waitable submit frame like we have with the swap chains setup with DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT.
Anyway, it will be for next year, happy holidays :)
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 3 years ago
- 10 months ago
- 2 years ago
- 1 year ago