[whatwg] [canvas] imageRenderingQuality property

Vladimir Vukicevic vladimir at pobox.com
Mon Jun 2 14:34:24 PDT 2008

Yeah, I agree -- I thought that there was some plan somewhere to  
uplift a bunch of these SVG CSS properties into general usage?  I know  
that Gecko uplifted text-rendering, we should figure out what else  
makes sense to pull up.  (If image-rendering were uplifted, it would  
apply to <canvas>, for the scaling/transformation of the canvas  
element itself as opposed to the canvas rendering content.)

     - Vlad

On Jun 2, 2008, at 2:26 PM, David Hyatt wrote:
> I like the idea of this property.  I actually would love to see the  
> SVG property applied to HTML <img> as well. :)
> dave
> On Jun 2, 2008, at 4:15 PM, Vladimir Vukicevic wrote:
>> Sure; bilinear filtering is slower than nearest neighbour sampling,  
>> and in many cases the app author would like to be able to decide  
>> that tradeoff (or, at least, to be able to say "I want this to go  
>> as fast as possible, regardless of quality").  Some apps might also  
>> render to a canvas just once, and would prefer to do it at the  
>> highest quality filtering available even if it's more expensive  
>> than the default.
>>   - Vlad
>> On Jun 2, 2008, at 12:25 PM, Oliver Hunt wrote:
>>> Um, could you actually give some kind of reasoning for these?  I  
>>> am not aware of any significant performance issues in Canvas that  
>>> cannot be almost directly attributed to JavaScript itself rather  
>>> than the canvas.
>>> --Oliver
>>> On Jun 2, 2008, at 12:19 PM, Vladimir Vukicevic wrote:
>>>> I'd like to propose adding an imageRenderingQuality property on  
>>>> the canvas 2D context to allow authors to choose speed vs.  
>>>> quality when rendering images (especially transformed ones).   
>>>> This is modeled on the SVG image-rendering property, at http://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty 
>>>> :
>>>> attribute string imageRenderingQuality;
>>>> 'auto' (default): The user agent shall make appropriate tradeoffs  
>>>> to balance speed and quality, but quality shall be given more  
>>>> importance than speed.
>>>> 'optimizeQuality': Emphasize quality over rendering speed.
>>>> 'optimizeSpeed': Emphasize speed over rendering quality.
>>>> No specific image sampling algorithm is specified for any of  
>>>> these properties, with the exception that, at a minimum, nearest- 
>>>> neighbour resampling should be used.  One alternative is to  
>>>> specify 'best', 'good', 'fast', with "good" being the default, as  
>>>> opposed to the SVG names; I think those names are more  
>>>> descriptive, but there might be value in keeping the names  
>>>> consistent with SVG, especially if that property bubbles up into  
>>>> general CSS usage.
>>>> - Vlad

More information about the whatwg mailing list