[whatwg] Canvas pixel manipulation and performance
Boris Zbarsky
bzbarsky at MIT.EDU
Sat Nov 28 21:09:48 PST 2009
On 11/28/09 3:44 PM, Jason Oster wrote:
> The trouble with profiling my project is that it is a XULRunner
> application, and does not run directly in web browsers as-is.
This is not an issue at all; any XULRunner application can be run in
Firefox directly (with the right command-line flags). I'm happy to
profile whatever set of operations you want for you in Firefox if you
send me step-by-step instructions for performing that set of operations
in your application, ideally with code pointers to the start and stop of
the code to be profiled in your codebase. Probably offlist for all
that... ;)
Of course if you have a Mac you can do all this yourself; Shark is an
excellent tool.
> Changeset 2b56c4771d5c reduced the number of pixel array elements
> accessed by caching the 256px x 256px "rooms" within the stage map, and
> passing the cached rooms to putImageData().
As opposed to doing what before the change?
> My point, as you concur, is that setting four array elements
> (properties) is slower than setting just one.
While true, it may not necessarily be slower than setting one if the
value to set is more expensive to compute as a result, and may not be
the bottleneck to start with. The latter is hard to determine without
profiling. My gut feel is that at least in Gecko this is not likely to
be a performance bottleneck right now, nor much of a win with the
proposed change, if any. But again, that would be easier to judge (at
least for the first part) with a profile.
-Boris
More information about the whatwg
mailing list