Skip to main content
April 3, 2016

Compositor or NVIDIA driver bug when GPU is not busy enough (DK2, GTX750)

Reproducible with OculusRoomTiny (DX11), OculusWorldDemo (DX11)

I have a DK2 and an NVIDIA GTX750, which is lower than the recommended spec, but should be enough for development purposes, as I can control how much work I give to the GPU in my engine.

The issue is that if I don't give the GPU enough task, after some seconds, the Compositor GPU Time goes up gradually: First 1.7msec, after a second about 3msec then another sec later 5ms, and goes up to 11msec. Queue ahead also goes up to 10msec, and Missed V-sync count goes up continuously, as if every other V-Sync is missed. (In the first seconds there is no V-Sync miss)

I can fix it if I render the whole scene several times in OculusRoomTiny.
Oculus WorldDemo and Oculus Home works by default, because they give the GPU just enough work. But if I comment out the RenderEyeView() call in OculusWorlDemo, I experience the same problem. A simple Sleep() does not seem to work, I have to actually keep the GPU busy.

Everything worked fine with the 0.8 runtime.

The issue is either with the Oculus Runtime 1.3 or with the new NVidia driver (364.72). (And maybe only on DK2?)

Also, maybe related to this bug, ATW does not seem to work on my setup. When I have the above mentioned V-Sync miss every other frame, I get a kind-of ghost effect, as if two frames are blended together. It is worse than having normal judder I think.

While I intend to buy newer video card and a CV1 when I will have some money to spare, I would like to make progress with my development until then. So it would be cool to make this stuff work propery on my current setup. As a workaround, ,can I switch off ATW or dynamic queue ahead somehow?

    6 replies

    Up and Coming
    April 4, 2016
    Make sure power management mode set to 'prefer maximum performance' in driver settings otherwise GPU can go into low power mode.
    April 5, 2016
    Mars3D: Cool, it solved it! I did not know about this setting. Thanks for your help!
    Inspiring
    April 5, 2016
    Thank you @Mars3D 
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    Up and Coming
    April 5, 2016
    @Mars3d Thanks! That also fixed it for me :) DK2 with 1.3.0 and GTX770.
    DK2, MBP (mid 2010) OSX 10.10.3. Win7 - i5 4670K - GTX770. Java LWJGL 3 OpenGL Experiments: https://github.com/WhiteHexagon
    Up and Coming
    April 5, 2016
    it is not an ideal solution, unless you do not care for your electricity bill :)
    Up and Coming
    April 6, 2016
    Glad that worked for you. I noticed this problem in my app on the dk2 with 0.8. It looked like that the power management adaptive mode was targeting 60fps.