New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance drop with bino #81
Comments
|
Finally I get around to trying git bisect :) I started with Equalizer current HEAD (bad) and release-1.0.1 (good). But I must admit that I don't understand the impact of this commit and |
|
Hmmm, I tried to use current HEAD with |
|
Now I think I've got it. The problem was not 9ab87c0, but its parent, d4775a1. I must have misinterpreted the git bisect output. Anyway, after reverting d4775a1 (by putting #if 0/#endif around the body of the function Window::_initSwapSync() in libs/eq/client/glx/window.cpp), I again get full framerate (> 70 fps). Now the question is what the problem with _initSwapSync() is. |
|
glXSwapIntervalSGI( 1 ) sets the minimum interval between to swap buffers to be one vertical retrace. Unless I misunderstand something, this effectively syncs the swap to the next vertical retrace. If you set the swapsync hint to off, you should get 70Hz with a plain version. The question is why you drop to 20FPS, or if there is another way to implement sync-to-retrace? |
|
Yes, setting 'EQ_WINDOW_IATTR_HINT_SWAPSYNC OFF' fixes the problem. Qt uses a combination of glXGetVideoSyncSGI and glXWaitVideoSyncSGI before calling glXSwapBuffers; see http://qt.gitorious.org/qt/qt/blobs/4.8/src/opengl/qgl_x11.cpp line 949ff. I'm not sure if that makes a difference. |
|
I just tested replacing glXSwapIntervalSGI() with glXGetVideoSyncSGI()/glXWaitVideoSyncSGI() before glXSwapBuffers(), like Qt does, but I see the same frame rate drop to 20 fps (while eqPly runs smoothly at 60 FPS, like expected). Since Bino seems to be the only affected application, there is probably something wrong with they way Bino uses Equalizer. I don't know what it is. For now, maybe I'll just recommend to set swapsync off when using Bino with Equalizer. |
|
Can you attach a screenshot of the statistics overlay with and without swap sync? I would like to understand where the time is spent. |
|
Btw, I will commit a change to bino making swapsync off by default for now. |
|
On Mon, 30 Jan 2012 23:29:34 -0800, Stefan Eilemann wrote:
Screenshots attached. Bino reports ~20 video frames per second with Martin |
|
I can't see the files. I'm not even sure the issue tracker can do it. Can you send them per mail to me? |
|
After discussion this has been identified as a bino issue. Bino renders at 60Hz but reads the video frames at 20Hz. Closing issue. |
|
Could someone pls describe this 20Hz issue, or provide a link? |
With Bino I see a performance problem that I did not see with Equalizer
1.0.1. On my home system (Ubuntu 11.10 amd64, NVIDIA 9600 with the
290.10 drivers) I only get up to 20 fps in Bino's benchmark mode. In
normal mode, that is too slow to keep up, so Bino drops all the frames.
With 1.0.1, I get > 150 fps in benchmark mode, and no frame drops occur
in normal mode.
The text was updated successfully, but these errors were encountered: