OpenGL ES 2.0 benchmark: Adreno 205 vs SGX540 / HTC Desire HD vs Samsung Galaxy S

GLBenchmark 2.0 has finally been released to the public today nearly 2 years after being unveiled during MWC 2008. The opportunity was too good so I decided to run it on the HTC Desire HD and Samsung Galaxy S to compare the Qualcomm’s Adreno 205 vs the Power SGX540. I did a chart (posted below after the break) so you can compare the full detailed results of both handsets and not only the overall score. This is really important because only looking at the overall results is actually a bit misleading in this case. As you probably already know the PowerVR SGX540 is currently the fastest mobile GPU currently available in retail devices and so far nothing has come close to it (besides the Tegra 2 which is pumping out results close to the Galaxy Tab in OGLES 2.0) but Samsung is currently the only OEM shipping handsets featuring this GPU. The newest entrant is the Adreno 205 which is part of the latest MSM8255 and MSM7X30 chipset from Qualcomm and used in several HTC devices. The Adreno 205 is an updated / tweaked version of the Adreno 200 found in the original QSD8250 chipset. Anyway check out the results below:

  HTC Desire HD / Adreno 205 Samsung Galaxy S / SGX540
GLBenchmark 2.0 Egypt : 2043 Frames (18.1 Fps) 2423 Frames (21.4 Fps)
GLBenchmark 2.0 Egypt FSAA : 1705 Frames (15.1 Fps) 1957 Frames (17.3 Fps)
GLBenchmark 2.0 Egypt FSAA Fixed Time : 194328 ms 170861 ms
GLBenchmark 2.0 PRO : 1269 Frames (25.4 Fps) 1931 Frames (38.6 Fps)
GLBenchmark 2.0 PRO FSAA : 973 Frames (19.5 Fps) 1441 Frames (28.8 Fps)
GLBenchmark PRO FSAA Fixed Time : 69861 ms 51186 ms
     
Array test: uniform array access : 2325 kVertex/s (17.7 Fps) 2026 kVertex/s (15.4 Fps)
     
Branching test: balanced : 5484 kShader/s (10.6 Fps) 2862 kShader/s (5.6 Fps)
Branching test: fragment weighted : 11726 kFragment/s (30.5 Fps) 9996 kFragment/s (26.0 Fps)
Branching test: vertex weighted : 2084 kVertex/s (15.9 Fps) 2398 kVertex/s (18.3 Fps)
     
Common test: balanced : 3385 kShader/s (6.6 Fps) Failed / Not supported
Common test: fragment weighted : 7872 kFragment/s (20.5 Fps) Failed / Not supported
Common test: vertex weighted : 503 kVertex/s (3.8 Fps) 2295 kVertex/s (17.5 Fps)
     
Geometric test: balanced : 3071 kShader/s (6.0 Fps) 2862 kShader/s (5.6 Fps)
Geometric test: fragment weighted : 8654 kFragment/s (22.5 Fps) 5082 kFragment/s (13.2 Fps)
Geometric test: vertex weighted : 820 kVertex/s (6.2 Fps) 2398 kVertex/s (18.3 Fps)
     
Exponential test: balanced : 6121 kShader/s (11.9 Fps) 3270 kShader/s (6.3 Fps)
Exponential test: fragment weighted : 14674 kFragment/s (38.2 Fps) 7543 kFragment/s (19.6 Fps)
Exponential test: vertex weighted : 1124 kVertex/s (8.6 Fps) 2379 kVertex/s (18.1 Fps)
     
Fill test: texture fetch : 182942 kTexels/s (7.4 Fps) 73753 kTexels/s (3.0 Fps)
     
For loop test: balanced : 4175 kShader/s (8.1 Fps) 3089 kShader/s (6.0 Fps)
For loop test: fragment weighted : 10598 kFragment/s (27.6 Fps) 2333 kVertex/s (17.8 Fps)
For loop test: vertex weighted : 877 kVertex/s (6.7 Fps) 2333 kVertex/s (17.8 Fps)
     
Triangle test: textured : 9266 kTriangles/s (70.6 Fps) 4046 kTriangles/s (30.8 Fps)
Triangle test: textured, fragment lit : 7729 kTriangles/s (58.9 Fps) 2806 kTriangles/s (21.4 Fps)
Triangle test: textured, vertex lit : 7715 kTriangles/s (58.7 Fps) 3364 kTriangles/s (25.6 Fps)
Triangle test: white : 12118 kTriangles/s (92.3 Fps) 5219 kTriangles/s (39.7 Fps)
     
Trigonometric test: balanced : 3244 kShader/s (6.3 Fps) 2030 kShader/s (3.9 Fps)
Trigonometric test: fragment weighted : 8800 kFragment/s (22.9 Fps) 2757 kFragment/s (7.2 Fps)
Trigonometric test: vertex weighted : 850 kVertex/s (6.5 Fps) 1730 kVertex/s (13.2 Fps)
     
Swapbuffer speed : 592 (59.2 Fps) 560 (56.0 Fps)

As you can see the SGX540 performed better in the scenery benchmarks but was totally obliterated by the Adreno 205 in most of the synthetic tests. The only time the SGX540 was pulling ahead was in vertex shading performance. This oblivious doesn’t mean much to the end user but I was relatively surprised to see that Adreno 205 held its own against the beastly SGX540. Anandtech did similar benchs comparing many more devices and the results are also really interesting. But it should also be noted that the Adreno 200 and 205 CPUs are always running a 16bit depth buffer while the SGX5XX are in 24bit (the same applies to the Tegra 2 which is also currently only set at 16bit).The thing you will notice when looking at the current top chart on GLBenchmark’s website is that the highest ranked OGL 2.0 device is the low-end Sony Ericsson Xperia X10 Mini powered by an Adreno 200 GPU. How is this possible? Well that’s because it’s running at a resolution of 320×240 compared to WVGA on the vast majority of the other handsets. Lowering the resolution of a 3D application can dramatically improve it’s performance this is why Microsoft has been evangelizing the use of the build-in hardware scaler in the Windows Phone 7 devices if a developer wishes to create a 3D intensive applications (render everything at a lower resolution with a similar aspect ratio and upscale the output to WVGA for free).


One thing to note thought is that the HTC Desire HD exhibited rendering artifacts during the Egypt benchmark (something that the Galaxy S didn’t):

  • http://pulse.yahoo.com/_7ANZRYIUBAFZNRSXS4N2BH5PGA saquib

    so which one is the winner?

  • http://www.mobiletechworld.com MobileTechWorld

    The SGX540 is currently the fastest..

  • Diego!

    Samsung Focus come to daddy! hahaha

    What an amazing phone… I’m just waiting till February to make up my mind because I want to see the second generation of WP7 devices, if there will be any announcement.

  • Pokoloko

    Out of the 31 tests, DHD was faster in 19 of them, while SGS on only 12. So how did you get to the conclusion that the SGX540 is faster than Adreno205?

  • besserwisser

    The “missing polygons” seem to just be gaps between triangles (it seems the edges for top and bottom geometry don’t share vertex positions – look up “T-junctions” in Google). The problem manifests itself also on the GS, it’s just more difficult to see it due to the higher resolution. This is a modelling error in the 3D scene used by the benchmark. If you want correct rasterization without overlap or gaps on the edges, you must use same position on the edge endpoints. Period.

  • http://www.mobiletechworld.com MobileTechWorld

    Nope this is not the issue here. (and BTW the Desire HD has exactly the same resolution as the Galaxy S…). The problem comes from Qualcomm’s Adreno drivers and happens on all Adreno 200 and 205 devices. Polygons and whole 3D models actually totally disappear in the Egypt benchmark run. Running GLBenchmark after a fresh reboot fixes the problem on the Desire HD but it is back again on a second run.

  • http://www.facebook.com/sadaghian Arash

    Oh thats a mind-fcuk, even in the worst days of winmo we didnt have such a driver problem( or we had? :) ) )

  • http://www.mobiletechworld.com MobileTechWorld

    Well, the WinMo situation was 10x worst lol. The damn OS didn’t even support the ARMv7 architecture at all (so the Floating Point units of the Scorpion CPU where sitting idle..). On the GPU front we all know that Qualcomm provided shitty quality drivers to the OEMs …
    In the case of the benchmark above I’m guessing that it may have probably something to do with the benchmark code it self too. Interestingly the SGX540 gets totally destroyed in the OGL ES 2 3DMARK mobile benchmark (which isn’t publicly available) because it apparently makes heavy use of the pixel shader (where the Adreno 205 is the best right now)….

  • http://www.facebook.com/sadaghian Arash

    Haha remember those (now old) new roms which had improved drivers and after flashing the winmo phone your phone was 2x faster?
    I don’t know about technical side of these tests, but i know open approach in regards to OEMs and chip makers has a hard time even in the 400million unit/year PC business when I see a brand new Dell laptop with a years old touchpad driver which causes computer to freeze! And for sure Phone is a more sensitive subject than PC, Microsoft cannot do anything for PC market but they found the balance in Wp7, The problem is only their limited support of chips right now. With porting Win NT to ARM and placing it as the core to the next version of windows phone they can support new SoCs for phones faster and that will be really good for customers. Otellini yesterday hinted at x86 in the next version of windows phone, that’s crazy compared to what they can support right now with CE, and drivers being first class is the key to our peace of mind.

  • None

    Samsung Wave S8500 too has Adreno 205 vs SGX540 for only 270€ in Europe…

  • None

    I meant it has SGX540, sorry (bad cut & paste).

  • Nixonjr

    Samsung Wave S8500 has SGX540 too…

  • Davidc538

    these devices run xna? if not then what is that code?

  • Lubomirvarsea

    Is the galaxy s running froyo?that matters although i have better graphics with eclair :D

  • Anonymous