Morton,
Great thanks for you.
I found that the real display work is done by lx_do_copy() , not
lx_do_composite(). The several lx_do_composite() calls' destination is not the
screen. Just as you have said, it is in backbuffer. Is there any method for me
to direct that my FB(screen)?
By the way, I don't worry about the speed of my machine, because I use
ddd(a GUI gdb tool) to debug my client program, so I can add breakpoints at
where I want.
Thanks,
Frank
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Jonathan Morton
Sent: 2010年5月20日 21:49
To: Huang, Frank
Cc: [email protected]; [email protected]
Subject: Re: GTK progressbar call on XRenderComposite
On Thu, 2010-05-20 at 16:11 +0800, Huang, FrankR wrote:
> I have use XFlush in cairo to send the XRenderComposite to server, but
> still can not see every step result on the screen. Only the final
> progressbar is displayed. So it is hard for me to trace the render
> process of a progressbar.
The rendering is almost certainly done using a backbuffer, a common
technique for eliminating flicker from a rendering process. The
backbuffer is not part of the screen, but the final Composite call
copies it to the screen in the correct place.
If you were to direct the same sequence of calls, minus the final one,
directly to the screen, you would in theory see the bar being rendered.
On a modern computer this would happen too quickly to see clearly (but
would still flicker annoyingly), so you would also want to insert delays
to make the process visible if you want to learn about the process.
--
------
From: Jonathan Morton
[email protected]
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list