Re: [whatwg] [2D Canvas] Proposal: batch variants of drawImage

On Fri, Aug 8, 2014 at 10:25 AM, Ashley Gullen <ashley@scirra.com> wrote:

> As Justin stated, 20% of current Chrome users currently fall back to
>> canvas 2d.
>>
>
> 1. What fraction of those 20% actually still get a GPU accelerated canvas
> vs. software rendered? Batching will be of very little use to the software
> rendered audience, making it an even smaller target market.
>

~25% of Chrome users that do not have gpu-accelerated WebGL do have gpu
accelerated 2d canvas. Nonetheless, the software implementation of 2D
canvas is way faster than software-emulated WebGL, so it makes sens to
fallback to 2D canvas anytime accelerated WebGL is unavailable.


> No software is ever bug-free, but this is irrelevant. To not be
> blacklisted, drivers don't need to be perfect, they just need to meet a
> reasonable threshold of security and reliability. If a driver is insecure
> or crashes constantly it is blacklisted. Drivers are being improved so they
> are no longer this poor, and it is not unrealistic to imagine 99%+ of
> drivers meeting this threshold in the near future, even if none of them are
> completely bug-free.
>

The problem is the long tail of old devices. There is an astonishingly
large number of machines in the world running outdated OSes that no longer
receive updates, or graphics driver updates.  Also, AFAIK, display drivers
tend to not have auto-updates the way OSes and browsers do. So even if
there is an updated driver out there, most users are unlikely to install it
until they try to use some software that requires it explicitly.


>
>  Many games consist of large numbers of rotated sprites.
>

The proposal includes the possibility of specifying a per draw
transformation matrix. And as Katelyn suggested, we could add a variant
that takes an alpha value.

I will post an update to this thread as soon as I have more compelling
performance data. My goal is to demonstrate that a 2d canvas (with batched
drawImage calls) can yield performance characteristics that are
significantly superior to WebGL's for typical 2D sprite-based game use
cases, particularly on mobile platforms.  This will be possible by
leveraging the browser's compositing framework in ways that are not
possible with WebGL.  Stay tuned.

   -Justin

Received on Friday, 8 August 2014 17:41:43 UTC