[Scummvm-devel] Wintermute profiling

Tobia Tesan tobia.tesan at gmail.com
Mon Aug 26 00:08:45 CEST 2013

Il 25/08/2013 12:38, Willem Jan Palenstijn ha scritto:
> Or are you talking about different scenes maybe? 
I was referring to the general finding - renderTickets() and 
updateScreen() almost invariably seemed to rise to the top, and inside 
renderTickets blit(), lots of blit().
I did not run an exclusive profiling on those specific scenes.

>> Let me get done with UITIledImage - which is the only thing that, I've
>> found, hinders the effectiveness of said rect changes -, reprofile the
>> whole deal and optimized when needed (I may have  been misled by said
>> UITIledImage when working on the rect system) and then we can start
>> having fun.
> How does it hinder the effectiveness exactly? Too many rectangles causing the
> new rectangle merge/split code to be slow?

It certainly does not help the rect system to have a gazillion rects, 
but I think that's not a primary concern at the moment, judging from the 
numbers I saw (it currently takes up much much less than other areas, as 

>   Or something more subtle?

For some reason actually doing the whole  drawing dance tile by tile 
seems to be *slow*.
Like, really slow, slower than anything else.

Rects are very much not an issue here - no rects, a single rect, a 
multitude of small rects, it doesn't change.

somaen pointed me in this direction and actually drawing a single bigger 
sprite (atm the actual sprites being blitted are broken, as you know, 
but that's not relevant) really is *insanely* faster on my system, with 
the default "Release" settings from create_project - but also on Linux, 
again with no special arguments passed to configure;  perhaps there are 
some specific compiler flags that would make improve the situation, if 
so please do tell.

I will make some measurements tomorrow also vs. your branch, but I 
really think it's just because of the *giant* overhead due to all those 
calls and tickets.

Tobia Tesan
<tobia.tesan at gmail.com>
+39 393 4427709
"At age 48 I wrote the first novel of my life, and then I
  had the problem of understanding whether it was an exception,
  a mere accident or the beginning of something new. Suppose a
  vicious dog chases you, and to escape you jump over a river.
  Once you've done this, you wonder if it was chance or could
  you do it a second time?" -- Umberto Eco

More information about the Scummvm-devel mailing list