by Charles Ying

On Mobile Phone OS Design and GPUs

December 2nd, 2009

Mobile phones have really big screens.

Tablets will have even bigger screens.

If you want your mobile phone OS to matter in 2010, you’d better optimize for rendering graphics on the GPU.

GPUs are far more power efficient and faster at drawing graphics. As mobile device screens get really large, drawing the graphics “old school” on the CPU is moving from “unacceptable” to “impossible” pretty quickly.

Today, Motorola Droid runs at about half the frame rate of iPhone 3GS. The GPU in both is a PowerVR SGX 530 series chip.*

A PowerVR SGX 530 has a fill rate of 200 million pixels per second. That means Motorola Droid’s GPU could theoretically drive 8 full screen refreshes at 60 fps on a Droid-sized (WVGA) screen. All without the CPU’s help.

Parts of Android’s graphics subsystem seem to be GPU accelerated, but more is needed.

Imagine if the Android UX ran at a rock solid 60 fps. Then, I think we’d have something pretty sexy.

I wonder if Apple’s PA Semiconductor unit is designing GPUs instead of CPUs?

* It’s unclear what the exact model of the iPhone 3GS GPU is, and so the exact fill rate is not known… (though if it were, say, a PowerVR SGX 535, its fill rate would be 400 million pixels per second)

Technorati Tags: , , , , , , ,

Chocolux for WebGL = GPU raytracing in browser

October 18th, 2009

I’ve just finished my port of Chocolux for WebGL (click for demo page).

Chocolux is a real-time recursive GPU raytracer using four spheres by Auld. Today, Chocolux now can run in your web browser.

The implications of this are pretty mind blowing. WebGL now allows compiled code to run on the GPU. Imagine what games, image processing, and applications will be possible with compiled shaders and general GPU computing (OpenCL?) now in the browser. And with WebGL gaining widespread adoption, it’s going to be here fairly soon.*

For more information about cutting edge fragment shader GPU raytracing and rendering, check out Rendering Worlds with Two Triangles (PDF).

*pending completion of a stable WebGL spec, naturally.

Technorati Tags: , , , , ,

Wuh Working Group

October 16th, 2009
cying: how is WHATWG pronounced?
cying: “what working group” ?
tantek: or “what double you gee”
Hixie: i pronounce it “whatwuhjee”
cying: Hixie: interesting… wuhjee?
tantek: Hixie, makes sense, like “wuh wuh wuh dot …”
Hixie: yeah
Hixie: or wuhwuhstyle for www-style
gavin: weird!
AryehGregor: “www” is remarkable, as an abbreviation that takes like twice as long to say as the thing it ostensibly abbreviates.
Hixie: it’s an abbreviation for writing
Hixie: not talking
Philip: AryehGregor: How do you get “twice”?
Philip: given that “w” is three syllables
AryehGregor: “like”
AryehGregor: Closer to three times, it’s true.
Philip: Two is not much like three
TabAtkins: I pronounce WHATWG as “what”+”wig”.
TabAtkins: And when pronouncing “www” I say “dub dub dub”.
TabAtkins: (A shortening of “dubya”, the texan way to pronounce that letter.)
• Philip pronounces WHATWG as “what”+mumble, because he never actually says it out loud and in his own brain he doesn’t need to pronounce the entire word to know what he’s thinking of
TabAtkins: I pronounce all of my acronyms as words. HTML is “heh teh mul”, CSS is “sess es”, etc.
Philip: TabAtkins: You’re weird
Philip: I thought everyone said “HTML” as four letters
TabAtkins: Philip: I save a syllable, and the leftover syllables are easier to say quickly too.
Philip: TabAtkins: If the primary requirement is saving syllables, you could just grunt
TabAtkins: But then other people don’t have a chance of understanding me. Plus my language organ isn’t trained to recognize or produce meaningfully grunting beyond the existing near-primal sounds we all make.