On Fri, Aug 03, 2007 at 06:53:26PM +0200, Andre Poenitz wrote:
> > I arrived to the conclusion this way:
> > * Software DRI is known to be hopelessly slow, it exists mainly so
> >   you can test the APIs without actual hardware.  Or run some
> >   low-impact stuff.
> 
> Right.
> 
> > * People observe that something in LyX is dead slow when
> >   software DRI is in use, and speedier when it isn't. So the
> >   slow software DRI obviously got used by running LyX.
> 
> Or some funny interaction wich is triggered by what we do but
> nothing we are 'responsible' for.

I do not claim that LyX developers are responsible for this
problem.  Still, there is is the observation that
having slow sw DRI available slows down LyX.  Having fast hardware
DRI or no DRI removes the problem. 

It therefore seems very likely that DRI gets used in some
cases, at least on the affected platform.  

> I sometimes start playing a DVD with ogle while running the flash plugin
> in Firefox. It usually works after retrying, and so far it always worked
> after ejecting and re-inserting the DVD.
> 
> Now whom do I blame? Ogle? Firefox? Flash? Linux? Qt? LyX?
> 
> I guess just blame LyX.

Not a comparable situation. :-)
You provide no indication that LyX usage affects this problem or
that LyX is involved in any way. It'd be different if
running LyX always ruined an otherwise fine dvd player.

On the other hand, LyX consistently slowing down when a
slow DRI implementation is available strongly suggests that
DRI somehow gets used.  Not necessarily by LyX itself
of course, could be some library LyX relies on, or
the xserver itself.

> > * As far as I know, the only way LyX uses the screen, is through
> >   qt4.  So qt4 must be the one to blame then. qt4 has support for
> >   openGL it wouldn't be strange if they try to speed up some
> >   operations by using DRI where they think it is noticeably faster.
> 
> It would be quite strange.
> 
> LyX only uses Qt widgets that are _not_ derived from QGLWidget. QGLWidget
> is the only thing in Qt that ever accesses OpenGL. You'll also notice that
> LyX is _not_ linked against libGL, which would be the case if we used
> the QtOpenGL module by accident.

I understand that LyX don't 'accidentally' use openGL, thanks for
clearing up that.

The fact that no LyX widget derives from QGLWidget does not rule out
a qt4-dri connection though. The rest of qt4 might decide to use a few 
low-level DRI operations as speedups when DRI happens to be
available. QGLWidget does not neet to be involved for that.
It has a different purpose: To provide an interface to openGL. 
Another possibility is
that the xserver itself attempts to use DRI as an 'optimization'.

Whatever the exact cause is - slowness was observed, and went away
by removing DRI.

Helge Hafting

Reply via email to