whenever the graphics context of a canvas is updated, it marks the entire element as needing an update, regardless of actual need.
Created attachment 18418 [details] Very very preliminary patch This is just a proof of triviality patch, it works correctly afaict, however someone else may want to test. Here are the problems: * i don't have a machine that is slow enough for a full canvas repaint to be more significant than the 10ms minimum timer interval * This is a hack job, and needs to be tidied up and made cross platform (currently it blindly assumes CG is present).
Okay further investigation has shown a gain when the canvas is very large (eg. 1000x1000), but also when scaled in css, eg. <canvas width="1000" height="1000" style="width:500px; height: 500px" ></canvas> there is a substantial benefit *provided* the painting is spread out suffuciently or over a compact enough region to prevent repaint rect coalescing from effectively repainting the entire canvas
Created attachment 18421 [details] Real patch Here we go, fresh off the compiler
Comment on attachment 18421 [details] Real patch REviewed with comments by mark Landed 29448