- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Sat, 21 Oct 2006 10:58:38 -0700
>> At least something generic like preference=quality/speed switch makes >> real sense. > > I would imagine that most people would rather implementations were both > fast and had high quality all the time. > Yeah! You forgot to add "and free of charge" and it will be perfect definition of permanent dream of mankind. Andrew Fedoniouk. http://terrainformatica.com ----- Original Message ----- From: "Ian Hickson" <ian@hixie.ch> To: "Benjamin Joffe" <canvasgame at gmail.com>; "Andrew Fedoniouk" <news at terrainformatica.com>; "David Hyatt" <hyatt at apple.com> Cc: <whatwg at whatwg.org> Sent: Friday, October 20, 2006 11:40 PM Subject: Re: [whatwg] Canvas draw quality > On Sat, 21 Oct 2006, Benjamin Joffe wrote: >> >> I would like to see a property added to the 2d canvas context that would >> allow quality to be lowered for drawing functions. Normally any time a >> shape is drawn, pixels close to the boundary are made semi transparent >> to make it look smooth, this is usually favourable but I have had a need >> to draw shapes and lines with pixel sharp boundaries in the same way as >> Java normally does. > > You can do this already using the getImageData() and putImageData() > methods -- get the area that you want to affect, modify the device pixels > you want to affect, and then redraw it. > > >> This property could also be handy in instaces where both fill() and >> stroke() are being called. Low quality could be used on the fill() to >> improve performace while stroke() could be used with high quality so it >> still draws smoothly. > > There's no reason UAs can't already do this optimisation. In fact, it > would be better for UAs to do these optimisations than for authors to have > to remember to do them. > > > On Fri, 20 Oct 2006, Andrew Fedoniouk wrote: >> >> I think that the best way is just to define different values for the >> context ID: DOMObject getContext(in DOMString contextID);Something like >> "2D" and "2D-fast" or "2D-simple". Another option would be to add one >> optional parameter to the getContext() function. > > I agree with David Hyatt's comments here. > > >> I doubt that someone will need to switch it in the middle of drawing so >> having such switch as an attribute is redundant. > > The two use cases that Benjamin gave were both cases where you'd switch in > the middle, actually. > > > On Fri, 20 Oct 2006, David Hyatt wrote: >> >> I don't think an API like this should be vague about what it's doing... >> e.g., just using vague terms like "quality." We should say what we >> mean... antialiasing for example. > > I strongly agree with this. But I don't think we should realy go there, > certainly not at this stage of the game. > > > On Fri, 20 Oct 2006, Andrew Fedoniouk wrote: >> >> Dave, various implementations use different libraries/approaches for the >> Graphics. Way of tuning parameters and their set can be different. I >> think that it is simply not possible to generalize them all. > > That's a good reason not to add them at all. > > >> At least something generic like preference=quality/speed switch makes >> real sense. > > I would imagine that most people would rather implementations were both > fast and had high quality all the time. > > > On Fri, 20 Oct 2006, David Hyatt wrote: >> >> Except with something like canvas, people are going to care about the >> precise pixel-level details of the rendering. We can't handwave these >> details away using vague terminology like low-quality or high-quality, >> where the user agent is free to decide what those terms mean. If we do >> that, then we risk not having interoperability between browsers. > > Exactly true. > > -- > Ian Hickson U+1047E )\._.,--....,'``. fL > http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. > Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' >
Received on Saturday, 21 October 2006 10:58:38 UTC