14 Aug 2007
Posted by Manuel at 22:18 — 1 year, 10 months ago
Categories: as3
I’m trying to get a clue of that vertical bar and it just seems very closely related to how the BitmapData’s draw() method internally works: for instance, if you have the source at hand, at line 67 of the PostProcessor.as file there is the line:
ppbmpData.draw( source, new Matrix( .5, 0, 0, .5 ), null, BlendMode.NORMAL );
The ppMatrix is the precomputed transformation matrix and, by changing that with the following, the bar will go away and it won’t crash the VM anymore:
ppbmpData.draw( source, new Matrix( .501, 0, 0, .501 ), null, BlendMode.NORMAL );
Since i do not think a mere transformation operation can be SO wrong, i’m trying to extrapolate the smallest context into which the problem can be reproduced: so far i also noticed i can get very different results between Flash Player v9.0.47 and v9.0.60.120 by changing the code in order to produce a predictable result.
In other words, i got the expected result in v9.0.47 but only the top-most output_height / 2 portion is correct in v9.0.60.120: i’m not sure if that can be related to multi-threaded optimizations in the Flash Player since by changing the process’ affinity mask seems to affect framerate and flickering only… bah! I have to dig some more…
Leave a reply