[Top][All Lists]

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

Re: Re[2]: [Gnash-dev] invalidated bounds redesign - advice needed

From: Martin Guy
Subject: Re: Re[2]: [Gnash-dev] invalidated bounds redesign - advice needed
Date: Tue, 13 Feb 2007 20:21:52 +0000

2007/2/13, Udo Giacomozzi <address@hidden>:
Tuesday, February 13, 2007, 6:02:54 PM, you wrote:
>> The solution would be to have *multiple* invalidated bounds.
MG> The algorithm, not the classes, is the hard bit

This can be solved by having "snapping" rectangles. Say, you have two
rectangles that do not intersect each other but are just 30 pixels
distant, then these will be merged nevertheless.

Yes, that should work. The essential thing is to be able to predict an
upper bound on the maximum number of elements so that it cannot
degenerate, however cruel the movie. Once you know how your algorithm
works you will be able to generate a pathological test case or two
that tries to force your code into generating the worst-case scenario
you can imagine.
How the snap size needs tuning for different stage sizes is a question
you can face later on.

MG> An example of this is when the "bad" driver in Bozzetto's YesNo movie
MG> empties the ashtray out of the car door, or the zoom out from the
MG> traffic jam later in the same clip.

Can you please post the URL to this movie? Would like to see how Flash
performs in this case.

It's under

MG> Cairo responds to these events by
MG> slowing to snail's pace and suddenly growing from 50 to 192 MB in
MG> memory usage (while OGL and AGG currently keep steaming along at much
MG> the same speed).

Very strange! Do you have any idea why this happens? It's not related
to the invalidated bounds in this case after all...

No, the only clue I have is the creation of a large number of small objects

MG> Once you have a complexity-limited fast algorithm, the data structures
MG> you require and methods to operate on them should drop out of that.
Can't agree. ... If you look at strk's
class prototype you'll see that it does not rely on any special

You are right of course. I confused the interface with the algorithm
that implements it.

I admit I have a personal need to make the player faster.

That is usually the best motive of all!

On another topic, did you get invited to the developers' bash in
March? If you fancy the trip and can spare the time I'm sure your
in-depth knowledge of renderer internals would be very welcome there.


reply via email to

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