понедельник, 30 декабря 2013 г.

Сравнение мобильных GPU


В сети сложно найти информацию, позволяющую сравнить GPU (graphics processing unit – графический процессор) различных SoC (System-on-a-Chip – система на одном кристалле). Давайте попробуем сделать некоторый набросок, попытку как-то сравнить-таки мобильную графику.
Имется 6 компаний, производящих GPU – это ARM, Imagination Technologies, Vivante, Nvidia, Qualcomm Adreno и Broadcom VideoCore. Данное сравнение затронет только 4-х первых производителей GPU.
Сравниваемые компании представляют несколько различных видов GPU:
ARM
Imagination Technologies
Vivante
Nvidia

Mali-400 Series:
Mali-400 MP
Mali-450 MP
Mali-600 Series
Mali-T604
Mali-T624
Mali-T628
Mali-T658
Mali-T678

PowerVR SGX Series 5:
SGX520
SGX530
SGX531
SGX535
SGX540
SGX545
PowerVR SGX Series 5XT:
SGX543MP1-16
SGX544MP1-16
SGX554MP1-16
PowerVR SGX Series 6:
G6200
G6230
G6400
G6430
G6600

2D graphics:
GC300
GC350
3D graphics:
GC400
GC800
GC1000
GC2000
GC4000

ULP GeForce (Tegra 2/3)

74-core GeForce (Tegra 4)
GPU представленные в таблицы отсортированы таким образом (для каждой компании), что всякая последующая является более продвинутой версией, чем предыдущая. Так Mali-T604 быстрее чем Mali-400 MP, SGX535 быстрее чем SGX531. Есть и более старые генерации GPU, но они в таблицу не включены. Как можно видеть, имеется довольно богатый выбор мобильных графических процессоров на сегоняшний момент. Но, что еще более усложняет их сравнение, так это наличие различного количество ядер (так Mali-400 может иметь 1, 2 или 4 ядер!). Более того, в расчет надо принимать различные технологические процессы, а также различные рабочие частоты, которые производители Soc выбирают для данных GPU.
В поисках объективности, можно сфокусироваться на одноядерных ипостасях каждого GPU, взять в анализ широко используемые Soc, такие как Rockchip RK3066 (Mali-400 MP4), Freescale i.MX6 (GC2000), AllWinner A31/ OMAP 5430 (SGX544 MP2), и Tegra 3 T30 (ULP Geforce).
Ниже представлено краткое сравнение GPU от Vivante



Информация из таблицы Vivante  может быть положена в основу сравнений производительности GPU различных производителей. Данные о ARM можно почерпнуть отсюда, про PowerVR SGX Series 5XT можно найти информацию в pdf тут, про Tegra 3 – тут. Итак сводка:


Mali-400 MP4
PowerVR SGX544MP2
GC2000
Tegra 3 GPU
Частота
240 MHz  - 533 MHz
532 MHz
528MHz (600 MHz shader)
520 MHz
Число шейдерных ядер
4
8
4
12
Geometry Rate
44M Tri/s на одно @ 400 MHz
70 M Tri/s на одно@ 400 MHz
100 M Tri/s (Freescale утверждает, что 200 M Tri/s в i.MX6, i.MX6 Reference Manual: 88 Mtri/s)
-
Textured Pixel Rate
1.6G Pix/s for 1 core @ 400 MHz
1 G Pix/s per core @ 200 MHz
1.25 G Pix/s (i.MX6 RM: 1.066G pixels/sec)
-
Производительность ядра
7.2 GFLOPS @ 200 MHz
12.8 GFLOPS @ 200 MHz
(34 GFLOPS @ 532 MHz)
24 GFLOPS (21.6 GFLOPS
 in i.MX6)
7.2 GFLOPS @ 300MHz
Antutu 3.x
2D: 1338
3D: 2338
Resolution: 1280×672
Device: 
MK808 (Android 4.1.1)
2D: 1058
3D: 4733
Resolution: 1024×768
Device: 
Onda V812 (Android 4.1.1)
2D: 733
3D: 1272
Resolution: 1280×672
Device: 
Hi802 (Android 4.0.4)
2D: 814
3D: 2943
Resolution: 800×1205
Device: 
Nexus 7(Android 4.2.1)
Кремниевая площадь
4×4.7mm2 ?
 -
6.9 mm2
 -
Тех процесс
65nm LP or GP
40nm
TSMC 40nm LP
40nm
Поддержка API
OpenGL ES 1.1 & 2.0
OpenVG 1.1
OpenGL ES 2.0 and OpenGL ES 1.1 + Extension Pack
OpenVG 1.1 enabling Flash and SVG
PVR2D for legacy 2D Support (BLTs, ROP2/3/4)
OpenWF enabling advanced compositing
OpenCL Embedded for GP-GPU
OpenGL ES 1.1/2.0/Halti

OpenCL 1.1 EP
OpenVG 1.1
DirectFB 1.4
GDI/Direct2D
X11/EXA
DirectX 11 9.3
OpenGL ES 1.1/2.0
OpenVG 1.1
EGL 1.4
Поддержка операционных систем
Android
Linux
Linux, Symbian and Android
Microsoft WinCE
RTOS on request
Android
Linux
Windows
QNX
Android
Windows 8

Приведенные в таблице данные безусловно требуют дальнейшего уточнения – слишком разнятся цифр, которые можно найти об исследуемых GPU в Интернете.
Если сравнивать по показателям Geometry rates, то GC2000 оказывается самым медленным GPU (если 88 Mtri/s являются корректными данными). Если оценивать в ГигаФлопсах, то Mali-400 оказывается наиболее медленным графическим процессором, возможно потому, что и GC2000 и SGX544MP2 поддерживают OpenCL 1.1, но сегодня это возможно не так актуально, поскольку немного приложений способны поддерживать GPGPU. Antutu тест продемонстрировал, что Mali-400 имеет лучшую 2D производительность, затем идут SGX544MP2 и Vivante GC355/GC320 ( 2D не обрабатывается GC2000 в i.MX6), но для 3D PowerVR GPU становится очевидным лидером, Mali-400 MP4 показывает лишь половину от производительности лидера, а GC2000 – только половину от ARM Mali GPU согласно Antutu 3.0.3.
Таким образом, если говорить о 2D/3D производительности, не нужно ожидать, что процессор Freescale i.MX6 на четырех ядрах Cortex A9 покажет лучшую картинку, чем Rockchip RK3066 на двух ядрах Cortex A9. Вместе с тем, от AllWinner A31, даже имеющем более медленные ядра  Cortex A7, вполне стоит ожидать совершенную графику.
Вышеприведенные теоретические изыскания вполне подтверждаются опытным путем. Так, четырех ядерный одногерцовый Allwiner 31 с легкостью подхватывает и воспроизводит FullHD видео файл весом 7Гб, в то время как четырех ядерный RK3188 при частоте 1,6ГГц лагает "по-черному" - подтормаживает, видео идет рывками, в общем, смотреть невозможно. Впрочем, RK3188 не справляется даже с менее ресурсоемким видео - в обзоре не Хабре он провалил воспроизведение даже 2-х Гб FullHD видео.

Комментариев нет:

Отправить комментарий