gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: [Gnash-commit] /srv/bzr/gnash/trunk r10720: setQuality() has to


From: Benjamin Wolsey
Subject: Re: Re: [Gnash-commit] /srv/bzr/gnash/trunk r10720: setQuality() has to be used in movie_root initialization to inform the renderer
Date: Thu, 19 Mar 2009 09:44:56 +0100 (MET)

> 
> The problem is:
>       - You have a huge (full-screen) bitmap
>       - Trying to reduce client load you set _quality
>         in frame0
>       - Gnash will keep redrawing the bitmap, even
>         if not required (as _quality doesn't change)
> 

I see the potential problem, but the two questions are: (a) what does the pp 
do? There's no reason why Gnash shouldn't be more efficient than the pp, but 
still if the pp forces a full redraw on each change of _quality it would be a 
reason for SWF designers not to do it; and (b) related: are there any actual 
cases of this? Bearing in mind it's possible for the SWF to check for quality 
before changing it.

I don't see a no fundamental problem with a no-op, but the two cases (initial 
setting and state change) need exactly the same code with the crucial exception 
of this check. At the moment everything works as it should do. To include the 
no-op again while keeping behaviour the same and without duplicating the code, 
perhaps we should have:

setQuality(Quality q, bool check = true);

and in the function definition: 

if (check && _quality == q) { }

Then the ctor can call setQuality(QUALITY_HIGH, false);

bwy




reply via email to

[Prev in Thread] Current Thread [Next in Thread]