Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
None
-
5.9.0
-
None
-
Windows 10, NVidia GeForce 770m
Windows 7, NVidia GeForce
Linux / nvidia 1050
Linux / intel
Description
On Windows operating system, using OpenGL context in Qt window and rendering animation at 60 fps with vsync turned on (native 60 Hz monitor) - there are random frames being dropped.
The simplest way to test and visualize this issue, this sample project can be used:
https://github.com/sletta/stuff/tree/master/cpp/swaptest
Frame drops in that test are visualized as blinking pure red or pure blue frames.
Important fact: when test window is shown in "fullscreen" mode, frame drops do not happen.
Frame drops happen in windowed mode only.
Frequency of random frame drops varies between systems. More powerful system will have fewer drops, but at least several per minute.
When the same window render test is executed using non-Qt based framework, such as GLWF (http://www.glfw.org) - there are no visible frame drops.
When window created by GLWF is embedded in Qt, using:
QWidget::createWindowContainer(QWindow::fromWinId((WId)hwnd));
then problem does not happen
All timing of render calls appears to be correct and well within 17 ms time frame. Number of SwapBuffer calls is correct, but somehow certain frames go missing