Hi Fred, The biggest performance bottleneck at the moment, I suspect, is NSImage. This holds the image in the process's memory and attempts to share it with the X server.
Because NSImages are mutable objects, the process retains ownership over them and Cairo is unable to take advantage of acceleration provided by the X server when doing the compositing. With Opal, the CGImage (which NSImage will use for drawing) is immutable. It is copied once to the X server, then (ideally) copied into VRAM by the X server. Every time it is drawn, Cairo can take advantage of hardware compositing. This reduces the client-server copying overhead and allows the server to actually make use of that huge blob of transistors optimised for compositing that any computer made after about 1996 has. David _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev