<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On May 24, 2010, at 2:09 PM, David Levin wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><br><div class="gmail_quote">On Mon, May 24, 2010 at 1:40 PM, Aryeh Gregor <span dir="ltr"><<a href="mailto:Simetrical%2Bw3c@gmail.com">Simetrical+w3c@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, May 24, 2010 at 1:21 PM, David Levin <<a href="mailto:levin@google.com">levin@google.com</a>> wrote:<br>
> We've discussed the leading alternate proposal optimized canvas (plus js to<br>
> read the exif information) and then get the bits out of canvas, but there<br>
> are several issues with this proposal including<br>
><br>
> that not all browsers will have an implementation using the gpu that allows<br>
> web sites to use this and not hang the UI<br>
<br>
</div>This is a nonissue. There's no point in speccing one feature to work<br>
around the fact that browsers haven't implemented another -- it makes<br>
more sense to just get the browsers to implement the latter feature,<br>
making the former moot. Browsers look like they're moving toward GPU<br>
acceleration for everything now, and that has many more benefits, so<br>
we should assume that by the time they'd implement this API, they'll<br>
already be GPU-accelerated.<br>
<div class="im"><br>
> that even if it was implemented everywhere, this solution involves readback<br>
> from the GPU which, as Chris mentioned, is generally evil and should be<br>
> avoided at all costs.<br>
<br>
</div>This I'm not qualified to comment on, though. To the best of my<br>
knowledge, GPUs are magical boxes that make things go faster via pixie<br>
dust. ;)<br></blockquote><div><br></div><div>Thanks for your opinion. :)</div><div><br></div><div>Chris is qualified so are other people whom I've spoken to who have said the same thing, so using the gpu is not pixie dust in this particular scenario even though folks would like to be believe it so.</div>
</div></blockquote><br></div><div>I didn't mean to say that GPU's are in general evil, just readback. GPU's can do magical things as long as you keep the data there. If your API were to return some abstract wrapper around the resultant image (Like ImageData), it would allow the bits to stay on the GPU. Then you can use the abstract API to pass the image around, render with it, whatever. There might still be some platforms that have to read the pixels back to use them, but not always. For instance, WebGL has API to take an ImageData and load it as a texture. If we see the image from that object are already in the GPU, we can use it directly or copy it (GPU-GPU copies are very fast) to the texture memory.</div><div><br></div><div>I'm not sure such a representation is appropriate for all the use cases here, but it would make image handler much faster in many cases.</div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div>-----</div><div>~Chris</div><div><a href="mailto:cmarrin@apple.com">cmarrin@apple.com</a></div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"></span>
</div>
<br></body></html>