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