Last month we got a look at some leaked benchmark scores and determined the HTC G2 was going to offer about the same performance as the Samsung Galaxy S. Now we finally got a G2 in-house so I thought it was time to put both devices head to head and see which is faster.
The G2 features the new Adreno 205 GPU from Qualcomm. This GPU is found in the second-gen Snapdragon chips including the MSM7x30, MSM8x55, and QSD8x50A. HTC is the main handset maker using these new Snapdragons and you will find them in their upcoming phones including the Desire Z, Desire HD, G2, and Merge.
The Samsung Galaxy S features the PowerVR SGX540 GPU from Imagination Technologies. You will find PowerVR GPUs in both Samsung and Texas Instruments processors. They are also found in the iPhone and all of Intel's processors (CE4100) for Google TV devices.
For this first round of benchmarks I will be using 3DMarkMobile produced by Rightware. If the name sounds familiar that is because 3DMarkMobile was formerly owned by Futuremark who makes the popular PC benchmarks.
The Test Devices
I have a lot of phones that I could have benchmarked, but I kept it to three to keep it simple. I chose the G2 since it is the only device shipping in the U.S. with the Adreno 205 GPU, the Nexus One since it is a 1st-gen Snapdragon, and the Galaxy S because it has the fastest GPU we have benchmarked.
- HTC Nexus One: 1 GHz Qualcomm Snapdragon QSD8250, Adreno 200 GPU, 512 MB RAM, Android 2.2
- Samsung Galaxy S (Epic 4G): 1 GHz Samsung Hummingbird S5PC110, PowerVR SGX540 GPU, 512 MB RAM, Android 2.1
- HTC G2: 800 MHz Qualcomm Snapdragon MSM7230, Adreno 205 GPU, 512 MB RAM, Android 2.2
Both the Nexus One and G2 are running stock Android 2.2, while the Galaxy S (Epic 4G) is running Android 2.1 with Samsung's TouchWiz UI. All devices run at the same 800x480 resolution. Each phone was rebooted before testing and I left the radios on to simulate normal every day usage.
3DMarkMobile ES 2.0 V1 - Hoverjet and Taiji
Taiji: The Taiji Girl test represents a game with human-like characters. The girl in the scene is skinned using 29 bones. The total amount of polygons in the scene is 70,000 of which approximately 50,000 are visible per frame on average. This test is designed to provide a heavy fragment load. The scene is set in a serene courtyard garden enclosed on all sides by stone walls. A larger context is implied to the viewer using a skydome texture and trees implemented as alpha-blended quads visible beyond the courtyard wall. All of the fragment operation intensive elements are located inside the courtyard in a small radius around the main character. We believe closed environments, such as the courtyard in this test, are a viable solution for real-world game design. Limited environments will enable the developer to concentrate on the important elements of the set (those that are visible) and avoid the need to generate large amounts of unseen graphical elements which do not add value to the story nor to the game play. As shadow mapping is used in this test, the depth texture extension is required in the hardware in order to get approved results.
Hover: The second graphic’s test represents a racing game including five racers and a racing track in a desert environment. The graphics load presented is balanced more towards polygons than pixel processing. The total amount of polygons in the scene is 300,000 of which on average 100,000 are visible per frame.
The difference between the two tests is that the Taiji test has about 70k polygons and has a heavy pixel shader load while the hover test has 300k vertices (of which around 100k is visible per frame) and light pixel shader load. Thus, the two tests stress different sections of the graphics processing pipeline. The key point about benchmarking is that a score in a single device without comparison scores from other similar devices has very little meaning. You can use our benchmarks to compare similar devices to each other, but on a single device the relative scores between tests are not very informative. So, if a single device has better scores at Taiji than at Hoverjet it will give you very little valuable information. However, if you compare scores from at least two devices the differences in scores between individual tests are immediately quite telling. So, if device A beats device B in all tests then clearly A is the performance winner. On the other hand, if device A beats B in taiji but loses in hover it tells you that A has a better performance at evaluating pixel shaders but does not handle high geometry loads as well as B. In that case, you need to analyze the application portfolio you wish to run on the device to decide whether you value a higher geometry load than pixel load or vice versa.
Taylor's comments: To my surprise the G2 came out on top in the pixel shader and geometry tests. I ran them several times to make sure everything was correct and the G2 always scored better. This could be caused by some optimizations in Android 2.2 (like the JIT compiler) so we will have to run this benchmark again when Sammy releases Android 2.2 for the Galaxy S.
3DMarkMobile ES 2.0 V2 - User Interface and Navigation
User Interface: The User Interface test represents a realistic user interface including eight main icons and their sub-icons in a futuristic environment. Main and sub icon shells use Cook Torrance shading with cube map reflections to achieve a realistic metal effect. The center of the icon features a texture distorted fragment shader. Environment uses per pixel Blinn-Phong shading with diffuse and specular maps. Fake ambient occlusion is achieved by baking it in the colors of the vertices.
Bloom and Depth-Of-Field post processing effects are used in the entire scene. The blurring of the scene is done only once, and it is used by both of the post processing effects; this conserves system’s computing resources.
Taylor's comments: Once again the G2 comes out on top. This could be caused by Android 2.2 like I mentioned above. Notice the large performance gap between the first-gen Snapdragon (Adreno 200) and the second-gen Snapdragon (205).
Navigation: The Navigation test represents a realistic workload of a Navigation application. Buildings and roads are modeled to look like generated map objects based on real data. Lighting is created by using one point and one directional light to achieve dynamic daytime lighting. The road shader is dynamic. It draws the path of route while the position indicator moves. The Indicator shader uses backlighting to highlight the indicator from the background. The Water shader uses normal and cube mapping to strengthen the effect of the water area. Basic blur post-processing effect is used to blur the route, which is seen behind the buildings, to avoid the path from disappearing out of view.
Taylor's comments: Finally we see the Galaxy S (Epic 4G) take the lead on something. I will be honest and say I'm not the smartest when it comes to all these shaders and blurring techniques so I can't explain why this benchmark is the opposite of the others. The Galaxy S has a faster clocked CPU than the G2 (1000 MHz vs 800 MHz) so maybe this test is CPU limited.
This debate is far from settled. We can clearly see Qualcomm has come a long way from their first Snapdragons and made great progress with the Adreno 205 GPU. I was starting to worry that Qualcomm was in trouble with their Adreno GPU family, but it holds its own against PowerVR and now I'm pretty excited about the Adreno 220 GPU coming in future dual-core Snapdragons.
Right now I'm not sure if the PowerVR SGX540 is still the fastest GPU available in an Android phone. This 3DMarkMobile benchmark is still new so I'm going to run the latest GLBenchmark 2.0 suite on it tomorrow and see how that turns out.
For all we know, the G2 could be scoring better since it has Android 2.2 and the Galaxy S is limited by Android 2.1. It really is unfair to compare different firmware versions, but that is all I have to work with. Hopefully Samsung rolls out Android 2.2 to the carriers this year and we can benchmark these phones on an even level.
If anything, I think this demonstrates how up-to-date firmware can sometimes be more beneficial than whatever the latest hardware is. (Yeah I'm looking at you Samsung. Why are you slacking with Android 2.2?)
I'm sure quite a few people that are smarter than me will read this post , so please post your educated feedback in the comments.