Hardware accelerated 2D graphics (with gtk-osx)



Firstly, please let me apologise if this isn't the right mailing list for gtk-osx queries.  I don't remember 
ever seeing an enquiry here about gtk-osx - so please feel free to direct me somewhere else if this isn't an 
appropriate list.

I'm a C++ programmer working on a cross-platform application that will eventually run on Linux, Windows and 
Mac.  It's a similar product to Pro Tools, Logic, Cuebase etc.  The app has a "scrolling" display, similar to 
a multitrack tape (as is common with this kind of app).  Graphical window elements are provided by the GTK+ 
library on all 3 platforms - gtk-x11 under Linux, gtk-win32 under Windows and gtk-osx under OS-X.

Under Windows and Linux the (2D) scrolling display is smooth.  But under OS-X it's horribly jerky and has a 
very 'klunky' look to it.  I happen to be viewing it on a Mac Mini but other people have seen the same effect 
with more powerful machines.  It isn't a processor issue because even with my lowly Mac Mini, the cpu usage 
rarely gets higher than about 30 percent.

Today I found this article on Wikipedia,  I think it might explain the sluggish timeline scrolling that we're 
seeing under OS-X:-

http://en.wikipedia.org/wiki/Quartz_Compositor

If I'm reading it correctly, OS-X uses a compositing engine called Quartz Compositor which seems to consist 
of Quartz Extreme (for 3D graphics) and QuartzGL (formerly called Quartz2D Extreme) for 2D graphics.  
Apparently, Quartz Compositor is the only process that's allowed to access the graphics frame buffer 
directly. So other technologies (QuartzGL / OpenGL  / Quicktime etc) need to go through it.  Thus, to utilise 
hardware acceleration, gtk-osx would presumably need to make use of a compatible technology, such as one of 
those.

My guess is either that gtk-osx isn't using any technology that's compatible with Quartz Compositor - or if 
it is, it's maybe using QuartzGL.  Disappointingly, QuartzGL DISABLES 2D hardware acceleration by default and 
I'm wondering if this might explain the poor performance that we observe under OS-X?  As I said earlier, 
Windows and Linux are both fine.

Is there anyone here who can shed any light on this?  Or suggest another forum where I'll be able to find 
some answers?  Many thanks.

John


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