[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