Re: [whatwg] suggestion for HTML5 spec

2010-08-25 Thread Ian Hickson
On Mon, 2 Aug 2010, Dirk Pranke wrote:
 On Mon, Aug 2, 2010 at 7:09 PM, Ian Hickson i...@hixie.ch wrote:
  On Mon, 2 Aug 2010, Dirk Pranke wrote:
  On Mon, Aug 2, 2010 at 6:56 PM, Ian Hickson i...@hixie.ch wrote:
   On Mon, 2 Aug 2010, Dirk Pranke wrote:
   
Why would a user ever want anyone to disable their GPU 
acceleration?
  
   I believe I've heard people say that they might sometimes want 
   this for power management, i.e. performing the same computation on 
   the GPU might take more power than performing it more slowly on 
   the CPU. I imagine this would depend on the specific configuration 
   and computations involved, though.
  
   This seems like a matter for the user, not the Web page, though.
 
  Ah, I knew you were going to say this. I agree, but I can also 
  imagine that the way the user selects this is by choosing one of two 
  different resources from a page, just like we do today for videos of 
  different bandwidths.
 
  It seems better to have a way for the user agent to automaically 
  negotiate the right bandwidth usage based on user preference, too.
 
  Any setting like this that we offer authors _will_ be misused, 
  possibly as often as used correctly. Unless there's a really 
  compelling reason to have it, it seems better to let the user be in 
  control.
 
 If users can choose between two links on a page labelled high FPS - 
 will destroy your battery and low FPS, they are in control, in a way 
 that is easily understood by the user and allows them to make the choice 
 at the point in time that it matters. Compare this with changing the 
 streaming settings on QT Player or Windows Media Player, or even 
 toggling the use the video card button on your laptop (and hoping that 
 the content is smart enough to degrade gracefully instead of choking).

Agreed. That isn't my concern. My concern is with pages that only provide 
one version, and that version tweaks this setting inappropriately. I 
believe, based on our experience with how pages are written on the Web 
today, that pages that do that would far outnumber those doing it right.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] suggestion for HTML5 spec

2010-08-03 Thread Chris Marrin

On Aug 2, 2010, at 7:20 PM, Dirk Pranke wrote:

 On Mon, Aug 2, 2010 at 7:09 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:
 On Mon, Aug 2, 2010 at 6:56 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:
 
 Why would a user ever want anyone to disable their GPU acceleration?
 
 I believe I've heard people say that they might sometimes want this for
 power management, i.e. performing the same computation on the GPU might
 take more power than performing it more slowly on the CPU. I imagine
 this would depend on the specific configuration and computations
 involved, though.
 
 This seems like a matter for the user, not the Web page, though.
 
 Ah, I knew you were going to say this. I agree, but I can also imagine
 that the way the user selects this is by choosing one of two different
 resources from a page, just like we do today for videos of different
 bandwidths.
 
 It seems better to have a way for the user agent to automaically negotiate
 the right bandwidth usage based on user preference, too.
 
 Any setting like this that we offer authors _will_ be misused, possibly as
 often as used correctly. Unless there's a really compelling reason to have
 it, it seems better to let the user be in control.
 
 If users can choose between two links on a page labelled high FPS -
 will destroy your battery and low FPS, they are in control, in a
 way that is easily understood by the user and allows them to make the
 choice at the point in time that it matters. Compare this with
 changing the streaming settings on QT Player or Windows Media Player,
 or even toggling the use the video card button on your laptop (and
 hoping that the content is smart enough to degrade gracefully instead
 of choking).

But an author can't make that claim if it involves forcing the GPU on or off. 
If we were to do this, I'm sure there would be implementations where the exact 
opposite of the author's intent would be the result. Saying something like 
turn off the GPU can result in more or less battery usage, depending on the 
hardware, software and content. Preserving battery life should be the job of 
the system (possibly with I care more about battery life than quality input 
from the User Agent).

 
 We've seen this exact same argument play out over the last fifteen
 years in video on the web. The technology for detecting and adjusting
 bandwidth dynamically has been around forever (actually implemented,
 even), and yet for every one multi-bitrate stream available on the
 web, I imagine there are very many more that are single-bitrate. A big
 part of the reason for this is because doing it this way is (in my
 opinion) a better user experience.

Sure, you might be able to say that a lower bitrate video will use less power 
than a higher bitrate one. So the author might want to provide two videos. But 
leave it up to the system to decide what hardware to use to play them.

-
~Chris
cmar...@apple.com






Re: [whatwg] suggestion for HTML5 spec

2010-08-03 Thread Dirk Pranke
On Tue, Aug 3, 2010 at 3:22 PM, Chris Marrin cmar...@apple.com wrote:

 On Aug 2, 2010, at 7:20 PM, Dirk Pranke wrote:

 On Mon, Aug 2, 2010 at 7:09 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:
 On Mon, Aug 2, 2010 at 6:56 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:

 Why would a user ever want anyone to disable their GPU acceleration?

 I believe I've heard people say that they might sometimes want this for
 power management, i.e. performing the same computation on the GPU might
 take more power than performing it more slowly on the CPU. I imagine
 this would depend on the specific configuration and computations
 involved, though.

 This seems like a matter for the user, not the Web page, though.

 Ah, I knew you were going to say this. I agree, but I can also imagine
 that the way the user selects this is by choosing one of two different
 resources from a page, just like we do today for videos of different
 bandwidths.

 It seems better to have a way for the user agent to automaically negotiate
 the right bandwidth usage based on user preference, too.

 Any setting like this that we offer authors _will_ be misused, possibly as
 often as used correctly. Unless there's a really compelling reason to have
 it, it seems better to let the user be in control.

 If users can choose between two links on a page labelled high FPS -
 will destroy your battery and low FPS, they are in control, in a
 way that is easily understood by the user and allows them to make the
 choice at the point in time that it matters. Compare this with
 changing the streaming settings on QT Player or Windows Media Player,
 or even toggling the use the video card button on your laptop (and
 hoping that the content is smart enough to degrade gracefully instead
 of choking).

 But an author can't make that claim if it involves forcing the GPU on or off. 
 If we were to do this, I'm sure there would be implementations where the 
 exact opposite of the author's intent would be the result. Saying something 
 like turn off the GPU can result in more or less battery usage, depending 
 on the hardware, software and content. Preserving battery life should be the 
 job of the system (possibly with I care more about battery life than 
 quality input from the User Agent).

I think you're probably right that different systems can have
different performance profiles and you can't design a one size
fits all solution here. Perhaps instead of enable GPU / disable GPU
you need high complexity / low complexity as a hint to the user agent.



 We've seen this exact same argument play out over the last fifteen
 years in video on the web. The technology for detecting and adjusting
 bandwidth dynamically has been around forever (actually implemented,
 even), and yet for every one multi-bitrate stream available on the
 web, I imagine there are very many more that are single-bitrate. A big
 part of the reason for this is because doing it this way is (in my
 opinion) a better user experience.

 Sure, you might be able to say that a lower bitrate video will use less power 
 than a higher bitrate one. So the author might want to provide two videos. 
 But leave it up to the system to decide what hardware to use to play them.

Of course, you can also imagine a lower bitrate stream using more
power than a higher bitrate run (VP8 may be more efficient than MPEG-2,
but can't be decoded in hardware and hence is far more expensive).

Perhaps all this illustrates is that the problem is far from simple and
so no simple API is likely to be that helpful. I'm not sure ...

-- Dirk


Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread Ian Hickson
On Sat, 1 May 2010, rya...@mail.com wrote:
 
 My suggestion for the HTML5 spec is that the video tag should have a 
 feature that can enable GPU acceleration on a user's graphics card, so 
 it will take some stress off the CPU.
 
 Do you like my suggestion?

Why would a user ever want anyone to disable their GPU acceleration?


On Sun, 2 May 2010, Simon Fraser wrote:
 
 The only reason I can think of why this should be exposed to web authors 
 is if a browser is unable to use GPU accelerated for video without side 
 effects (like always rendering on top of the rest of the content). Such 
 an option would be similar to the wmode param on plugins, which is a 
 huge mess, and should be avoided at all costs. One of the benefits of 
 video being a real HTML element is that it respects CSS properties like 
 any other element.

Indeed, it seems like we'd just want this to be automatic.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread Dirk Pranke
On Mon, Aug 2, 2010 at 5:53 PM, Ian Hickson i...@hixie.ch wrote:
 On Sat, 1 May 2010, rya...@mail.com wrote:

 My suggestion for the HTML5 spec is that the video tag should have a
 feature that can enable GPU acceleration on a user's graphics card, so
 it will take some stress off the CPU.

 Do you like my suggestion?

 Why would a user ever want anyone to disable their GPU acceleration?


I believe I've heard people say that they might sometimes want this
for power management, i.e. performing the same computation on the GPU
might take more power than performing it more slowly on the CPU. I
imagine this would depend on the specific configuration and
computations involved, though.

-- Dirk


Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread James Robinson
On Mon, Aug 2, 2010 at 6:43 PM, Dirk Pranke dpra...@chromium.org wrote:

 On Mon, Aug 2, 2010 at 5:53 PM, Ian Hickson i...@hixie.ch wrote:
  On Sat, 1 May 2010, rya...@mail.com wrote:
 
  My suggestion for the HTML5 spec is that the video tag should have a
  feature that can enable GPU acceleration on a user's graphics card, so
  it will take some stress off the CPU.
 
  Do you like my suggestion?
 
  Why would a user ever want anyone to disable their GPU acceleration?
 

 I believe I've heard people say that they might sometimes want this
 for power management, i.e. performing the same computation on the GPU
 might take more power than performing it more slowly on the CPU. I
 imagine this would depend on the specific configuration and
 computations involved, though.


That's a decision for either a user or a user agent, not an author.  It
should not be toggleable from HTML.

- James




 -- Dirk



Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread Ian Hickson
On Mon, 2 Aug 2010, Dirk Pranke wrote:
 
  Why would a user ever want anyone to disable their GPU acceleration?
 
 I believe I've heard people say that they might sometimes want this for 
 power management, i.e. performing the same computation on the GPU might 
 take more power than performing it more slowly on the CPU. I imagine 
 this would depend on the specific configuration and computations 
 involved, though.

This seems like a matter for the user, not the Web page, though.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread Dirk Pranke
On Mon, Aug 2, 2010 at 6:56 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:
 
  Why would a user ever want anyone to disable their GPU acceleration?

 I believe I've heard people say that they might sometimes want this for
 power management, i.e. performing the same computation on the GPU might
 take more power than performing it more slowly on the CPU. I imagine
 this would depend on the specific configuration and computations
 involved, though.

 This seems like a matter for the user, not the Web page, though.

Ah, I knew you were going to say this. I agree, but I can also imagine
that the way the user selects this is by choosing one of two different
resources from a page, just like we do today for videos of different
bandwidths.

-- Dirk


Re: [whatwg] suggestion for HTML5 spec

2010-08-02 Thread Dirk Pranke
On Mon, Aug 2, 2010 at 7:09 PM, Ian Hickson i...@hixie.ch wrote:
 On Mon, 2 Aug 2010, Dirk Pranke wrote:
 On Mon, Aug 2, 2010 at 6:56 PM, Ian Hickson i...@hixie.ch wrote:
  On Mon, 2 Aug 2010, Dirk Pranke wrote:
  
   Why would a user ever want anyone to disable their GPU acceleration?
 
  I believe I've heard people say that they might sometimes want this for
  power management, i.e. performing the same computation on the GPU might
  take more power than performing it more slowly on the CPU. I imagine
  this would depend on the specific configuration and computations
  involved, though.
 
  This seems like a matter for the user, not the Web page, though.

 Ah, I knew you were going to say this. I agree, but I can also imagine
 that the way the user selects this is by choosing one of two different
 resources from a page, just like we do today for videos of different
 bandwidths.

 It seems better to have a way for the user agent to automaically negotiate
 the right bandwidth usage based on user preference, too.

 Any setting like this that we offer authors _will_ be misused, possibly as
 often as used correctly. Unless there's a really compelling reason to have
 it, it seems better to let the user be in control.

If users can choose between two links on a page labelled high FPS -
will destroy your battery and low FPS, they are in control, in a
way that is easily understood by the user and allows them to make the
choice at the point in time that it matters. Compare this with
changing the streaming settings on QT Player or Windows Media Player,
or even toggling the use the video card button on your laptop (and
hoping that the content is smart enough to degrade gracefully instead
of choking).

We've seen this exact same argument play out over the last fifteen
years in video on the web. The technology for detecting and adjusting
bandwidth dynamically has been around forever (actually implemented,
even), and yet for every one multi-bitrate stream available on the
web, I imagine there are very many more that are single-bitrate. A big
part of the reason for this is because doing it this way is (in my
opinion) a better user experience.

That said, I do also agree that it opens up the possibility for abuse
or incorrect usage (just like it's possible to send a HD stream down a
modem line). And, I'm not actually advocating a solution here one way
or another, just attempting to answer your question.

-- Dirk


Re: [whatwg] suggestion for HTML5 spec

2010-05-01 Thread Tab Atkins Jr.
On Sat, May 1, 2010 at 8:25 PM,  rya...@mail.com wrote:
 My suggestion for the HTML5 spec is that the video tag should have a feature
 that can enable GPU acceleration on a user's graphics card, so it will take
 some stress off the CPU.

 Do you like my suggestion?

Nothing is stopping browsers from using the GPU to help speed up
video playback right now, and in fact I think that some browsers are
either already doing so, or are planning to do so in the relatively
near future.

~TJ