At CTIA this year, the world gawked at the Samsung Galaxy S and its amazingly beautiful SUPER AMOLED display. And it wasn’t just beautiful, it was FAST. So fast that you could say something like, “This thing really flies!” And I’m guessing that’s why the call the processor “Hummingbird”.

We’ll spare you the gory details, something Samsung has already offered, but oddly enough not explained/highlighted in the Press Release. Taylor from A&M noticed the claim Samsung made during their announcement event that the Galaxy S can “process a staggering 90 million triangles per second” and said “three times faster than any smartphone”.

Turns out its true. Here are the numbers of some Android Phones compared with consoles:

**Motorola Droid**: TI OMAP3430 with PowerVR SGX530 = 7 million(?) triangles/sec**Nexus One**: Qualcomm QSD8×50 with Adreno 200 = 22 million triangles/sec**iPhone 3G S**: 600 MHz Cortex-A8 with PowerVR SGX535 = 28 million triangles/sec**Samsung Galaxy S**: S5PC110 with PowerVR SGX540 = 90 million triangles/sec**PS3**: 250 million triangles/sec**Xbox 360**: 500 million triangles/sec

What the heck does it mean to be able to process 90 million triangles/sec? I’m not exactly sure, but processing 90 million of anything in a second is pretty darn impressive. But for those who want the in-depth answer, look no further than the “Polygons In Computer Graphics” section of Wikipedia:

A polygon in a computer graphics (image generation) system is a two-dimensional shape that is modelled and stored within its database. A polygon can be coloured, shaded and textured, and its position in the database is defined by the co-ordinates of its vertices (corners).

Naming conventions differ from those of mathematicians:

* A simple polygon does not cross itself.

* a concave polygon is a simple polygon having at least one interior angle greater than 180°.

* A complex polygon does cross itself.Use of Polygons in Real-time imagery. The imaging system calls up the structure of polygons needed for the scene to be created from the database. This is transferred to active memory and finally, to the display system (screen, TV monitors etc) so that the scene can be viewed. During this process, the imaging system renders polygons in correct perspective ready for transmission of the processed data to the display system. Although polygons are two dimensional, through the system computer they are placed in a visual scene in the correct three-dimensional orientation so that as the viewing point moves through the scene, it is perceived in 3D.

Morphing. To avoid artificial effects at polygon boundaries where the planes of contiguous polygons are at different angle, so called “Morphing Algorithms” are used. These blend, soften or smooth the polygon edges so that the scene looks less artificial and more like the real world.

Meshed Polygons. The number of meshed polygons (“meshed” is like a fish net) can be up to twice that of free-standing unmeshed polygons, particularly if the polygons are contiguous. If a square mesh has n + 1 points (vertices) per side, there are n squared squares in the mesh, or 2n squared triangles since there are two triangles in a square. There are (n+1) 2/2n2 vertices per triangle. Where n is large, this approaches one half. Or, each vertex inside the square mesh connects four edges (lines).

Polygon Count. Since a polygon can have many sides and need many points to define it, in order to compare one imaging system with another, “polygon count” is generally taken as a triangle. When analysing the characteristics of a particular imaging system, the exact definition of polygon count should be obtained as it applies to that system as there is some flexibility in processing which causes comparisons to become non-trivial. Vertex Count. Although using this metric appears to be closer to reality it still must be taken with some salt. Since each vertex can be augmented with other attributes (such as color or normal) the amount of processing involved cannot be trivially inferred. Furthermore, the applied vertex transform is to be accounted, as well topology information specific to the system being evaluated as post-transform caching can introduce consistent variations in the expected results.

Point in polygon test. In computer graphics and computational geometry, it is often necessary to determine whether a given point P = (x0,y0) lies inside a simple polygon given by a sequence of line segments. It is known as the Point in polygon test.

Yes, why of course. Exactly what I was going to say.

Continue reading: