Hi, I've also seen a similar slowdown, but whilst blitting from IDirectFBSurface. Up to a certain size of blit (~800x800 ARGB) the time taken was less than a millisecond. But once the size got bigger than that it suddenly took > 100ms. I traced this a month or so ago, but haven't looked any further yet so my memories are a little sketchy... It may also be that I'm hijacking this thread and this is a different issue?
I don't have much of an understanding of how the surface pool works, but in the case where it takes a long time, the innards of DirectFb was having to throw away a 'dead' surface, and then allocate a new one (which was ARGB PRIVATE) which it then did the blit from. This took a while to do. In your case does window size affect the speed of the Flip call linearly? If you slowly increase the size of the window does it suddenly jump from sub-millisecond to many tens of milliseconds? DaveC ........................................................................ Dave Craig Senior Software Engineer BrightSign skype: davecraig -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Nikita Egorov Sent: 15 July 2009 08:17 To: Karl Phillip Cc: [email protected] Subject: Re: [directfb-users] slow performance while Flipping() a surfacecreated by a Window Hi, in most cases Flip() of the entire screen does panning of display. The "backvideo" option points to it too. If you use window in your app the DirectFB does bitblit operation for the area of the window. Of course, this action slower than display panning. It will be especially slow if your hardware doesn't support the blitting with specified pixelformat. In this case DirectFB does mere memcpy() within video memory. I'd give you advice to try several different pixelformats for sake of finding the best performance. 2009/7/14 Karl Phillip <[email protected]>: > Hello, > > I'm trying to figure out how to overcome the following problem: > Situation 1: When the primary surface is created by a Layer and then > Flipped(), it has great performance, being executed in 0.00087 seconds. > Situation 2: When a Window is created by this same Layer and then the > primary surface is created by the Window... Flip() takes a lot longer > to be > executed: 0.0752 seconds. > > In /etc/directfbrc I'm currently using (among other settings): > pixelformat=ARGB > hardware > desktop-buffer-mode=backvideo > window-surface-policy=systemonly (videoonly doesnt work!) > > I do need to use a Window in my application to be able to resize the > surface whenever I need. Can anyone shed some light on the subject? I > did look in the archives first and didnt found anything that could help me . > > Thanks all, > -- > Karl > > > > > _______________________________________________ > directfb-users mailing list > [email protected] > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users > > -- Best Regards Nikita Egorov [email protected] [email protected] _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
