Comment 14 for bug 1665802

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That analysis might be incorrect. This is not the same as bug 1211700 unless we show that vsync has somehow gone missing (sleeps into the future spin or are never requested). The thing about bug 1211700 is that it's solved by any sleep of 10ms or so. And that's essentially what client-side vsync does.

Please find answers to the rest of the questions when you can:
  3. What thread/function exactly is spinning the CPU? Is it inside clock_nanosleep? Needs some profiling.
  4. Do other demos like egltriangle and flicker (software) suffer this bug at all?
  5. Does using a small window below 480x480 avoid the problem? (that's the threshold for nested passthrough)

"It does mean we need a way to disable client side vsync for problematic drivers."
I doubt that, simply because drivers have no interest in the swap interval in use (we implement it in Mir). Even bug 1211700 is just a scheduling/starvation problem that is solved with better timing, which is what client-side vsync should provide.

Needs more debugging...