Opengl slowdown on 2nd display (Ubuntu) -
i have opengl (4.3) application running on ubuntu 14.04 using nvidia-355 drivers. runs fine, when attach 2nd display (or remove 2nd display), main display go black , come back. when comes back, application slows down considerably (timings show 2-3x slowdown). if delete , recreate gl resources while keeping same context, returns normal. question thoughts on why slowdown occurs in case scenario?
i checked context pointer before , after , it's same. granted context might still have been lost , recreated, since using earlier version of glew, can't use glgetgraphicsresetstatusarb check status. thoughts on if other means similar?
update: i've tracked down cause vao/vbo have. it's buffer draw call uses points, , contains decent number of vertices (in order of millions). if keep constant, reupload vbo, performance fine. 2 questions: idea why happening? there way detect display added/removed in glx/gl/glut? thanks
unlike direct3d, loosing context thing can happen, opengl api contract asserts, context never lost; housekeeping, reinitializing gpu , associated objects has happen transparently behind scenes.
there several possible reasons slowdown experience. best bet be, of ubuntu's convenience automatisms may throws off internal state management of gpu driver leading sub par performance. without automatisms newly connected displays won't activated automatically, user interaction required.
another possibility is, new display you'll lowest common denominator refresh frequencies , v-sync enabled experience slowdown.
however i'm guessing here, , without deep profiler particular system it's hard tell what's going on.
Comments
Post a Comment