[whatwg] [canvas] imageRenderingQuality property

Jerason Banes jbanes at gmail.com
Tue Jun 3 07:09:59 PDT 2008

If you don't mind someone weighing in who's been working with the Nintendo
Wii for the past year and a half, I have found that the "quality" setting in
Flash is tremendously useful. While the march of Moore's law has ensured
that Flash on the desktop is zippy, it has also created a gap whereby
smaller devices are powerful enough to compete with last generation
desktops. For these devices, the quality setting is more than a "nice to
have". It's absolutely critical to obtaining decent performance.

The algorithm's I've used over on WiiCade automatically adjust for high
quality when on the desktop, and low to medium quality when on the Wii. This
provides a more consistent experience to users of both systems. In addition,
many game provide a quality setting in their options screen. (Similar to the
rendering features options in most 3D games.) This allows the user to adjust
the rendering speed manually if he finds his system is too slow or the game
in question is more than fast enough on the Wii.

I can see a quality setting in Javascript used in much the same way. The
site would set the quality of the rendering based on knowledge of particular
platforms. Modern desktops would default to highest quality. Furthermore,
video games (and we all know that's going to be a huge use of Canvas at some
point ;-)) that push the limit of Canvas may allow the user to "shift down"
as it were to compensate for their slower machine or the slow Canvas
rendering of their browser.

I definitely think this setting should be a hint rather than a hard and fast
set of rules. If a UA (especially desktop UAs) wants to ignore the setting,
that's fine. It will cause no appreciable damage. But it will allow for
slower UAs to be tuned for usage. e.g. If I'm looking at charts on my Wii,
I'd rather they be high quality. If I'm playing a video game, the quality
simply does not matter as much.

I hope you will all keep we poor device users in mind when you come to your

Jerason Banes

On Mon, Jun 2, 2008 at 5:52 PM, Oliver Hunt <oliver at apple.com> wrote:

>  Neither of these apply if the property were just a hint, but now you have
>> to think about what happens to content that uses this property in 18 months
>> time.  You've told the UA to use a low quality rendering when it may no
>> longer be necessary, so now the UA has a choice it either always obeys the
>> property meaning lower quality than is necessary so that new content
>> performs well, or it ignores the property in which case new content performs
>> badly.
> If the quality knob is no longer necessary, why would new content perform
> badly?
> The issue is not that certain operations are slower than others, the issue
> is that anything that requires the developer to choose between
> performance/quality is going to become obsolete as the performance trade
> offs are constantly moving and are not the same from UA to UA, from platform
> to platform.  I think the issue of performance is a complex one that will
> not benefit in the long term from a simple on off switch.  Conceivably we
> could introduce new rendering primitives, such as CanvasSprite, CanvasLayer,
> or some such which would, i suspect, provide a similar benefit, but be more
> resilient in the face of changing performance characteristics.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20080603/2375b261/attachment-0001.htm>

More information about the whatwg mailing list