GLX Indirect (old subj. Re: SDL digest, Vol 1 #343 - 40 msgs)

Kind of make sense, considering that indirect rendering prevents the
GPU=3D20 from rendering directly to the screen. It would have to rend=
er

into an=3D20 off-screen buffer, and then use 2D blitting to blit that
into display. It=3D =3D20
could theoretically work, but doesn’t in my experience. (BTW,
that’s=3D20 actually how double buffered “direct” rendering is done b=
y

most GLX=3D20 drivers… A hint as to why indirect rendering doesn’t,
perhaps?)

ok. this could be so, but it still doesn’t explain why X need’s (and
gets!) allmost all CPU-time. and the rendering-thread (if there is one

  • i don’t know …) and my app seems to run “asynchronously”

Sure it does! :slight_smile: The X server is “doing” the rendering, regardless of=20
there being h/w acceleration or not.
ok, thanks.
with this in mind, i think, i understand the problem.
i always used glFlush(); to force the “server” to execute my gl-commands.
glFlush guarantees execution in a “finite” time but not more.
i think the effect with glx “indirect” is so extreme because the rendering
time with glx “indirect” is still “finite” but really huge.
so glFinish(); has solved my problem. (if you know a better solution, please
tell me).—
klaus gieb