from 10 fps to 30 fps…
… and still some heavy brain-fuckage on my side. I looked at all sugguestions people made after my blog-entry form yesterday. This is a list of things I’ve done sofar:
- use GDK_POINTER_MOTION_HINT_MASK
- use surface-buffering (only one per SVG-icon atm, thus scaled up icons look like crap right now)
- added a fps- and event-counter
- improved text-label rendering slightly, no so much shivering anymore
- started to enhance the icon-positioning
- tried to make text read better on different backgrounds
- enter/leave-notify-events for setting/resetting scales
The pointer towards the hint of repaint-throttleing from Federico somehow wasn’t of any use. I tired the provided example sourcecodes, but they made absolutely no difference in runtime-performance on my machine. So I left this issue aside for now.
If you’re keen on the current code. Grab the snapshot here. To make it clear, this isn’t utilizing glitz at all at the moment. I totally messed this up, due to wrong assumptions. What would I do without the helpful souls on #cairo like cworth and vlad
This is what is still missing (what I still want to try out):
- actually use glitz-surfaces and not only think they are used (that’s where my major brain-fuckage is/was)
- input-shape support
- further perfecting icon-positioning
- the typical mipmap-pyramid of scale-levels
Furthermore there seems to be someone interested to pick up my “cairo-dock” experiment and make a full project out of it. More details and facts on this at a later date.
June 8th, 2006 at 10:10 pm
I know you are not interested into a creation of a "MacOS X-like" dock, but there is a project, gimmie (http://beatnik.infogami.com/Gimmie) that needs cairo-love (http://beatnik.infogami.com/Plan_to_0.1), probably you can help Alex in some way
June 8th, 2006 at 10:34 pm
I’m aware of gimmie. Although I didn’t know that they are actively looking for cairo-love. Actually getting in touch with the people behind gimmie is already "scheduled" if you will. Someone, who plans to pick up "cairo-dock" and make a full-fledged project out of it wants to put some heads together with folks from gimmie.
June 8th, 2006 at 10:46 pm
Yesterday night I implemented in your code Federico’s suggestions too, without any improvements
June 8th, 2006 at 11:13 pm
Your work sounds pretty interesting even if you aren’t planning to make it happen personnally as a full project. The big (and only) issue on my side is the poor framerate ranging from 0 to 2
probably one more con on the nvidia+ppc list!
June 9th, 2006 at 11:01 am
Hi,
Each time I come here, I’m amazed about your work. It helps figuring out what can be done with the great libraries and technology we have (compositing, glx, cairo, gstreamer …), and it’s a big source of motivation.
I tested the modified osx-bar-like code on my machine (P4 3.0 + GF6600GT on xorg 7.0 + xcompmgr) and I got between 2 and 17 fps. 2 on the left-most icons, and 17 fps (almost fluid) on the right-most. Of course the first version was prettier.
If your primary objective was to stress test the libraries, do you have any conclusion so far ? (e.g. cairo is still too slow or something like that).
great work again.
June 9th, 2006 at 12:18 pm
While I was sleeping, the unstoppable global machinery called "OpenSource community" did its magic again… stuff was benchmarked, patches were supplied, sugguestions made, contacts established… right now I’ve a version on my harddisk that does 45 fps with much lower cpu-usage. There are still "low hanging fruits" I’ve to implement. So watch this space for the next revision, which hopefully blows your mind (again :).
June 11th, 2006 at 3:02 pm
If someone is actually going to pick this up,make sure to check a recent post on the compiz forums http://www.compiz.net/viewtopic.php?id=1257, thanks to Ludo, it’s a great idea and I believe I saw something like bezier curves here when you were experimenting argb visuals, but maybe I’m wrong, anyway the idea is definetly worth a check,
June 11th, 2006 at 3:20 pm
I wonder if cairo is using the GPU to offload some of the calculations
June 11th, 2006 at 4:17 pm
I REALLY hope that someone get your "sketch of dock" to create a real application (simple but usable)! Please, please, please, please!
June 11th, 2006 at 11:37 pm
Don’t worry, it will be picked up… just check http://www.gnome-dock.org
June 11th, 2006 at 11:45 pm
@Mark Czubin: No it does not. You can make cairo use OpenGL in general via glitz, if you’re using glitz-surfaces.
@Diogo: I think you are talking about this: http://macslow.thepimp.net/?p=45 I’m not sure if I like the idea presented in that "LuDock", but I certainly would welcome a dock that could be moved/placed over a corner (L-shape like).
June 11th, 2006 at 11:58 pm
Hm… that arrangement of icons along a spline-curve isn’t that hard… the "ugly" issue will be to make window as large as the current display to allow free movement across the whole screen. Of course you would need input-shape support to allow "click-through". *thinking* Do I feel tempted… hm… I’m unsure
June 12th, 2006 at 9:50 am
MacSlow wrote: Don’t worry, it will be picked up… just check http://www.gnome-dock.org
Now I’m an happy man!!
Mario
June 12th, 2006 at 10:03 am
You may know that there exists a widget for the gdesklets system that acts exatly like that. Last time I checked, It was performing very well with SVG icons both in terms of quality and speed. And it’s a python script.
So I guess that it’s just a problem of tuning everything together and it could achieve 50 fps on a standard machine.
June 12th, 2006 at 10:15 am
@ToF: I know and use the gdesklets dock bar. I like it, but I doesn’t deal well with compiz. I want real transparency and an application that work well with the new widget-mode of compiz.
June 16th, 2006 at 12:41 am
114 fps! woot! This is awesome!
Just a thought but maybe a howto for the n00bs?