- From: James Robinson <jamesr@google.com>
- Date: Tue, 20 Mar 2012 12:00:31 -0700
If we are adding new APIs for manipulating the backing directly, can we make them asynchronous? This would allow for many optimization opportunities that are currently difficult or impossible. - James On Mar 20, 2012 10:29 AM, "Edward O'Connor" <eoconnor at apple.com> wrote: > Hi, > > Unfortunately, lots of <canvas> content (especially content which calls > {create,get,put}ImageData methods) assumes that the <canvas>'s backing > store pixels correspond 1:1 to CSS pixels, even though the spec has been > written to allow for the backing store to be at a different scale > factor. > > Especially problematic is that developers have to round trip image data > through a <canvas> in order to detect that a different scale factor is > being used. > > I'd like to propose the addition of a backingStorePixelRatio property to > the 2D context object. Just as window.devicePixelRatio expresses the > ratio of device pixels to CSS pixels, ctx.backingStorePixelRatio would > express the ratio of backing store pixels to CSS pixels. This allows > developers to easily branch to handle different backing store scale > factors. > > Additionally, I think the existing {create,get,put}ImageData API needs > to be defined to be in terms of CSS pixels, since that's what existing > content assumes. I propose the addition of a new set of methods for > working directly with backing store image data. (New methods are easier > to feature detect than adding optional arguments to the existing > methods.) At the moment I'm calling these {create,get,put}ImageDataHD, > but I'm not wedded to the names. (Nor do I want to bikeshed them.) > > > Thanks for your consideration, > Ted >
Received on Tuesday, 20 March 2012 12:00:31 UTC