Hardware accelerated 2D graphics (with gtk-osx)
- From: John Emmas <johne53 tiscali co uk>
- To: gtk-app-devel-list <gtk-app-devel-list gnome org>
- Subject: Hardware accelerated 2D graphics (with gtk-osx)
- Date: Tue, 27 Jul 2010 09:49:57 +0100
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]