[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#435374: libqt4-core: qt4 loose performance by using "direct rendering" that falls back on sw



Package: libqt4-core
Version: 4.3.0-4
Severity: normal


I have not seen the bug myself, but I report it on behalf of
lyx development.  The LyX word processor uses qt4 as its interface.

Some users have seen a large slowdown, it turned out that they 
had machines where DRI was implemented by a software fallback.
Commenting out "dri" from the "Module" section speeded things
up tremendously.  This because disabling DRI completely means that
qt4 uses normal X11 instead of direct rendering.

I understand that using direct rendering may be a nice speedup
when hardware acceleration is in use. But is very slow
when there is no smart hardware so the implementation fall
back on software.

Suggested fix:
Surely qt4 does a test to see if DRI is available, and fall back
on X11 when DRI isn't present.  (Otherwise, qt4 wouldn't work
at all on a machine without DRI.)

The fix then, is to also check that DRI is backed by hardware
before trying to use it.  This can't be hard to check.
Look at "glxinfo", it will print 
"direct rendering: yes/no" depending on hardware acceleration.
It will print "no" even when DRI is available but backed by software
only.


Please, just do the same check that glxinfo does, and don't
try to use slow software DRI interfaces.  This will be a nice
speedup for many qt4 apps running on machines without DRI hardware.
There are lots of such machines, especially when we get outside
the x86 world which debian supports so well.  And the fix
is rather simple too. :-)


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (800, 'stable'), (700, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-rc6-cfs-v18
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libqt4-core depends on:
ii  libc6                   2.6-2            GNU C Library: Shared libraries
ii  libdbus-1-3             1.1.1-3          simple interprocess messaging syst
ii  libfontconfig1          2.4.2-1.2        generic font configuration library
ii  libgcc1                 1:4.2-20070712-1 GCC support library
ii  libglib2.0-0            2.12.13-1        The GLib library of C routines
ii  libstdc++6              4.2-20070712-1   The GNU Standard C++ Library v3
ii  zlib1g                  1:1.2.3.3.dfsg-5 compression library - runtime

libqt4-core recommends no packages.

-- debconf-show failed



Reply to: