[Public WebGL] In defense of older hardware
Thu Jan 14 23:42:39 PST 2010
First, I must confess that I am one of the affected. So when I mention
the 50 million iPhones, you know I really mean me. :)
So, not only is my older iPhone (and those 50 million other people!)
not able to handle OpenGL ES 2.0... I'm also the owner of the 17"
Macbook Pro with the ATI Radeon chipset that features in cmarrin's
earlier discourse. And boy, do those demos reaaaaaallllly run slow,
looking like they're worse than Flash and making the initial
impression rather poor.
My hardware ain't that old, and much more importantly, my hardware
ain't that bad. I know that it can easily whap some puppies on the
sides of a cube and spin it around. Yet the demo runs at 8fps and 110%
CPU because the puppy pictures are 400x400 instead of 512x512. Perhaps
there should not be any software fallback? If the hardware can't do
it, just state "your hardware can't do it" instead of having a
misleading impression? The more important point is that WebGL is
blindingly fast when it works, and software fallback will lead many
people (who own older hardware) to think that WebGL is like a really
bad version of Flash.
Onto the next point... WebGL is going to be developed over time, and
these OpenGL ES 2.0 features that are modern now will be deprecated at
some time in the future. There is quite a lot of older hardware, so
how about having a deprecated API for WebGL for the older hardware now?
50 million iPhone users will notice! And just think about all those
Macbook Pro laptop owners with ATI chipsets! Not to mention those
older PowerPC holdouts!
So, older hardware. Deprecated branch. I know this has been talked
about before, but I'd like to raise a point. In the Flash 3d world,
the vast majority of processing time is spent on making affine
transforms into perspective transforms. This is done for free by the
OpenGL hardware. So rather than the complete and exact accurate
emulation of the OpenGL fixed pipeline with the megashader
implications of various combinations, it really would be good enough
to have a "depth buffer and 1 light and that's all you're getting"
option for the older hardware.
Anything at all, really! Just being able to display some stuff in 3d,
with perspective texturing in hardware, is better than what Flash can
do. Any shaders that will display anything on the screen will be
enough and sufficient and deprecated anyway. It really has to have
something to handle NPOT textures, just as the future branch of WebGL
will have to handle the deprecated OpenGL ES 2.0 stuff.
50 million (and one) people out there! Let's make them happy! Yes!
Rah! Rah! :) And yes, I know that it will mean having calls like
gl.bindTexture(GL_TEXTURE_RECTANGLE_EXT, m_texture); in the public
API, but better to tackle the obsolescence problem as part of the
initial launch since you're going to be handling it in future releases
anyway. And did I mention 50 million (and one) people? :)
You are currently subscribe to [email protected]
To unsubscribe, send an email to [email protected] with
the following command in the body of your email:
More information about the public_webgl