Announcement

Collapse
No announcement yet.

Compiz-Fusion & AIGLX performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Compiz-Fusion & AIGLX performance

    I was thinking about this when a friend of mine asked me about the "Linux eye-candy". We were talking about the different implementations of "visual effects" on the desktop in the different operating systems. We both came to one realization: Of all implementations, the one which seems to tax the less system's resources is the MacOS X implementation. I'm not sure how Quartz gets all the goodies done, and the visual effects department in OS X don't seem to be radically different from the past three incarnations of the OS (Panther, Tiger, and now Leopard), except a few things here and there. Now, AFAIK, OS X visual effects are purely 2D based, which means that they do not actually tax the 3D pipelines of the GPUs, and hence, the GPUs have most of their resources available to do acceleration even with the "fancy" effects turned on on OS X.

    Vista and Compiz utilize for their visual effects the 3D pipelines, as they (contrary to OS X) do actually perform window transformations and other 3D effects, without taxing much the system's CPU(s). This however has the downside effect of decreasing in most cases the performance of 3D applications when the "fancy visual effects" are turned on, a trade off many of us gladly take (is not like you cannot turn the effects off for running games or other 3D applications in either OS). While discussing this, my friend and I pondered what would be possible solutions to retain full rendering speed when running dedicated 3D apps (i.e, full screen) with the desktop effects turned on. As many users can tell, 3D performance does suffer quite a bit when you have running Compiz-Fusion/Beryl in the background and you launch a game. Even if the desktop is not being rendered, or its effects being used, Compiz still taxes the GPU and performance decreases. Compiz would be but a simple example, as is the most prominent application which uses AIGLX. AIGLX is (the way I understand it, anyway), but a framework and infrastructure for acceleration under X, so other applications might actually make use of it too.

    So, the conclusion we drew off our discussion was that while Compiz-Fusion is much more eye-popping than Vista's visual effects, and while it also taxes less on system resources, it still does so, that even the most famous of GLX applications (glxgears) receives a heavy performance blow when run under Compiz/Beryl... just as reference, and having into account glxgears is NOT a valid benchmark, the FPSs in my current system go from 7500+ FPS [FX5900] to ~2500 FPS under Beryl... that means roughly a decrease in performance of about 66.67%. I'm sure as the GPU scales, the delta in performance decreases, and as such it may not be so much of a matter with higher end hardware, but for cases of commodity hardware this means you have to choose between effects or no effects if you want to run other 3D apps.

    I wonder what effect will glucose and HW accelerated Cairo will have in the way we get our daily fix of eye-candy?

  • #2
    Originally posted by Thetargos View Post
    Of all implementations, the one which seems to tax the less system's resources is the MacOS X implementation. I'm not sure how Quartz gets all the goodies done, and the visual effects department in OS X don't seem to be radically different from the past three incarnations of the OS (Panther, Tiger, and now Leopard), except a few things here and there. Now, AFAIK, OS X visual effects are purely 2D based, which means that they do not actually tax the 3D pipelines of the GPUs, and hence, the GPUs have most of their resources available to do acceleration even with the "fancy" effects turned on on OS X.
    Apple's compositing framework is called "Quartz" and is PDF-based. Quartz only uses the CPU and accelerated 2D for drawing, while another layer called "Quartz Extreme" renders with OpenGL and takes the load from the CPU to the GPU. Even a high end Mac Pro would have significant problems with all the effects used in OS X, if it weren't for Quartz Extreme. QE needs special (well, Apple-homebrew) drivers, just like AIGLX relies on GLX_texture_from_pixmap to work. Apple introduced QE with Panther and previous incarnations of OS X suffered a lot, because of the ever growing number of effects being used. So no, Apple doesn't rely on the CPU doing the eye candy. They were the first to deliver a GPU-accelerated composited desktop.
    Originally posted by Thetargos View Post
    While discussing this, my friend and I pondered what would be possible solutions to retain full rendering speed when running dedicated 3D apps (i.e, full screen) with the desktop effects turned on. As many users can tell, 3D performance does suffer quite a bit when you have running Compiz-Fusion/Beryl in the background and you launch a game. Even if the desktop is not being rendered, or its effects being used, Compiz still taxes the GPU and performance decreases. Compiz would be but a simple example, as is the most prominent application which uses AIGLX. AIGLX is (the way I understand it, anyway), but a framework and infrastructure for acceleration under X, so other applications might actually make use of it too.
    The only way would be to store a copy of the 3D-Desktop to disk or RAM, but that's not a great solution, because of the additional loading-time to copy the memory being used, loading the needed application and on quit, restore the desktop in it's previous state. That's the only option I can think of, when the main goal remains to free the GPU for a needed OpenGL-application.
    Originally posted by Thetargos View Post
    I wonder what effect will glucose and HW accelerated Cairo will have in the way we get our daily fix of eye-candy?
    It'll be great, but X11 still remains pretty bloated, as far as I know. It just wasn't created for fancy animations.
    Feel free to correct me though. I never owned a Mac, so all I know is based on reading.

    Comment


    • #3
      Originally posted by Huenengrab View Post
      Apple's compositing framework is called "Quartz" and is PDF-based. Quartz only uses the CPU and accelerated 2D for drawing, while another layer called "Quartz Extreme" renders with OpenGL and takes the load from the CPU to the GPU.
      Does it do so in 2D or 3D?

      Comment

      Working...
      X