Re: [gtk+osx] Is this the official 'gnome' list - no
Status: Beta
Brought to you by:
jralls
From: John E. <jo...@ti...> - 2010-07-29 14:50:34
|
On 29 Jul 2010, at 15:35, Kai-Uwe Behrmann wrote: > This is the GTK1 to osX port. > Gnome maintains a different project for Gtk2. > At the moment I'm not sure whether we're using GTK1 or GTK2 so let me ask the question generally while I find out. Someone here might know the answer, either way.... 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. The scrolling display is implemented via a gnome canvas. Under Windows and Linux the (2D) canvas scrolling 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. A couple of days ago 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, the Windows and Linux builds are both fine. Is there anyone here who could shed any light on whether this is likely to be a problem with Quartz, or gtk-osx, or both? Thanks. John |