Hey all,

A while back I wrote that I had problems with not being able to sync my animation (a scroll text) to the VSYNC of the monitor, resulting in not so smooth scrolling of the text.

Now I updated to the last 1.8 version to see if there is any improvements, but sadly that is not the case.

The hardware is a intel 945GME, the software versions are;

xf86-video-intel-2.17.0
xorg-server-1.11.0
Mesa-8.0.1
libdrm-2.4.31
clutter-1.8.4
cogl-1.8.2
clutter-gst-1.4.6

What I do (I hope that is the correct way) is I have a thread that calculates bitmap (just char* buffers, not clutter textures or so) and those are 512pixel wide. Those bitmaps are queued to the clutter thread and the clutter thread has a timeline with a new-frame handler. And on every frame I shift the textures a few pixels (depending on how much time passed) and if needed I create a new texture from the bitmap queue. And if a texture is shifted out of view it is deleted. In that new-frame handler I also draw some static texts and calculate the FPS, so basically the number of times new-frame is called what hopefully is the actual FPS.

The thing is without "disable-clipped-redraws:disable-culling" in CLUTTER_PAINT options the frame is not synced to the VSYNC at all, the new-frame gets called way more often. This seems to cause to overload the GPU which results in a lot stuttering in the scrolling. With the disable-clipped-redraw option it is mostly in sync, but I still get FPS's of for example 65Hz when only doing "light" static texts that don't scroll or even 80Hz and up when doing video with clutter-gst. Also with the disable-clipped-redraw but without disable-culling I get flickering of some textures and some textures are completely gone. Only with both options it seems to work acceptable.

My question is how to really sync the new-frame signal with the VSYNC? And how it is possible that new-frame gets called 65 times a second when the GPU has a light load and 60 times a second when it has a high (but not to high to drop below 60FPS) load.

Anny hints on where to start hacking ? "Just works for you, but can't be build into clutter"-solutions are not a problem because the whole linux OS is build by me from the source anyway.

TIA,

Erwin






_______________________________________________
clutter-app-devel-list mailing list
clutter-app-devel-list@clutter-project.org
http://lists.clutter-project.org/listinfo/clutter-app-devel-list

Reply via email to