! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Low opengl performance with composite enabled.
Status:
RESOLVED: INVALID

Comments

Description jason fuchs 2006-05-10 03:18:35 CEST
I'm using xfce4.4 beta 1, Running gentoo amd64, with nvidia 8756 drivers.
Xfce was installed from the masked portage ebuilds.

With composite enabled, running glxgears gives me just over 200 fps. Disabling composite gives me almost 1800 (I have agp disabled for hibernate compatability.)

Fluxbox with composite enabled also results in 1800, so it seems to be related to xfwm4.  I have tried some opengl applications and they are slow as well, so it's not a glxgears issue.  I've tried playing around with all the configs and checked the logs, everything seems fine.

Sorry if this is a known issue, I couldn't find any bug reports or release notes about it.
Comment 1 Olivier Fourdan editbugs 2006-05-10 19:45:29 CEST
This is a feature of the new NVidia driver that added support for running OpenGL applications while the Composite X extension is enabled. Until version 8756, the OpenGL was rendered directly even if a compositor is present whch was fast but was causing problems because the OpenGL window was always visible.

Now with the new driver, the OpenGL is rendered off screen and copied just like with any other regular application, but it's a lot slower (read indirect rending off screen).

From NVidia documentation [1]

  "When the NVIDIA X driver is used with an X.Org X server X11R6.9.0 or newer and the Composite extension is enabled, NVIDIA's OpenGL implementation interacts properly with the Damage and Composite X extensions. This means that OpenGL rendering is drawn into offscreen pixmaps and the X server is notified of the Damage event when OpenGL renders to the pixmap. This allows OpenGL applications to behave properly in a composited X desktop."

Unlike xfwm4, Fluxbox doesn't implement a compositor, so it's obviously not impacted by this feature (The composite extension and running a compositor are different things, enabling the composite extension has no effect until you run a compositor such as the one embedded in xfwm4 or a separate one such as xcompmgr)

If you want to have full speed OpenGL in xfwm4, simply disable the compositor in xfwm4 (it's a command line option).

1) open an X terminal.
2) type
   killall xfwm4 && xfwm4 --compositor=off
3) save session on exit.

Please note that it would be a lot easier to disable the composite extension in your xorg.conf. Without a compositor, the composite extension is useless anyway.

However, the people at NVidia where smart enough as full screen apps are rendered directly to screen. So it'ss basically just  the windowed apps that are slow (glxgears, which is by no mean a benchmark tool, you may remember). If you play the games fullscreen, you get full speed OpenGL...

In any case, it's not a bug nor a problem with xfwm4 nor xfce, if you don't like that "new feature" in the NVidia driver, complain to NVidia so that they add an option to get the same (buggy, but fast) behaviour that was in previous driver releases.

[1] http://download.nvidia.com/XFree86/Linux-x86/1.0-8756/README/appendix-s.html

Bug #1789

Reported by:
jason fuchs
Reported on: 2006-05-10
Last modified on: 2009-07-14

People

Assignee:
Olivier Fourdan
CC List:
0 users

Version

Attachments

Additional information