2D производительность: GDI и GDI+
Почему мы до сих пор используем GDI и GDI+?
Даже сейчас, в 2014 году, многие приложения используют для рисования интерфейсы GDI и GDI+, даже если только задействуют GUI. Старые рабочие приложения и специфические бизнес-задачи выполняются преимущественно с помощью GDI/GDI+. Диапазон приложений велик – от простых 2D-CAD-программ и инструментов просмотра до WYSIWYG-приложений, используемых при подготовке макетов, и программ, предполагающих экспорт или импорт файлов.
Так как современные видеокарты с унифицированными шейдерными ядрами больше не имеют специальных 2D-блоков, а современные операционные системы не используют мгновенный доступ к видеокартам, решающее значение в быстром выполнении графических задач в 2D имеют драйвера устройств.
Текст
Показ текста является важнейшей задачей для такого класса устройств, и оба производителя убеждены в том, что их высококлассные видеокарты практически мгновенно воспроизводят большие объёмы текста.
Линии
Линии входят в число основных 2D-элементов (например, линии в меню), и снова ни одна из видеокарт не испытывает никаких проблем при выполнении данной задачи. Карты AMD, тем временем, опережают своих конкурентов примерно на 20%.
Сплайны и кривые Безье
Для кривых линий нужна некоторая вычислительная мощность, и вполне естественно, что для их прорисовки требуется больше времени. Продукция AMD снова впереди на те же два десятка процентов.
Многоугольники
Бенчмарк выводит на экран заполненные и пустые многоугольники с вершинами в количестве от трёх до семи, и видеокарты AMD знают, как справиться с этой задачей, чего не скажешь про модель Nvidia Quadro K5000, которая работает примерно вдвое медленнее, чем более старая AMD FirePro W9000.
Прямоугольники
Да, прямоугольники – это тоже многоугольники, но для их прорисовки GDI экспортирует отдельный и более простой API. Понятно, что этот процесс должен протекать быстрее, чем рисование многоугольников, о которых говорилось выше.
И, похоже, что под эти задачи больше подходит продукция Nvidia, а не AMD, ведь обе видеокарты Quadro опережают две модели FirePro.
Круги, круговые сегменты и эллипсы
В этом тесте результаты всех четырёх видеокарт примерно равны между собой.
Побитовое копирование изображения (бит-блиттинг)
Данный процесс характеризуется копированием блоков из системы к графической памяти и со временем становится всё менее важным. В конце концов, предполагается, что заполнением своей памяти пикселями занимается сама видеокарта, а не процессор. Неудивительно, что производительность при выполнении этой операции не слишком повысилась за последние годы. На самом деле она пошла по другому пути.
Похоже, Nvidia справляется с этим процессом получше, хотя в целом результаты всех видеокарт несколько разочаровали. Помогает формат DIB (аппаратно-независимый растр), выполняющий все операции рисования во временном растровом изображении, которое располагается в оперативной памяти компьютера, а на заключительном этапе – передающий его на видеокарту.
Растягивание
Здесь дело обстоит ещё хуже, так как задействуется процессор.
Итог
Победителя в соревновании по производительности GDI среди продукции Nvidia и AMD объявить не удалось. К сожалению, развитие 2D стоит на месте года с 2010-го. Но, по крайней мере, AMD удалось нивелировать некоторые "узкие места".
В целом, приложения достигают более высокой производительности, если передают всю информацию во временный формат DIB, а затем копируют результат для видеокарты. Однако на экранах с более высоким разрешением тот объём данных, который необходимо скопировать через PCIe-интерфейс, может быть весьма велик. Это ужасно, что в эпоху PCIe 3.0 процесс копирования данных на видеокарту происходит гораздо медленнее, чем операции копирования внутри оперативной памяти рабочей станции.
С учётом вышесказанного, видеокарты AMD работают лучше, чем устройства Nvidia, в основном, при прорисовке линии, сплайна и многоугольника. Может быть, и наша, в своё время жестокая, критика драйверов от AMD частично повлияла на результат.
Новинка
SPECviewperf12: CATIA, Creo и Maya 2013
Знакомство с SPECviewperf 12
SPECviewperf 11 появился в 2010 году, но со временем устарел, и уже не мог предоставлять нам более реалистичную картину производительности современных рабочих станций и драйверов. Устаревшими были и приложения в его составе. Более того, AMD и Nvidia тщательно оптимизировали свою продукцию под определённые рабочие нагрузки, так что в этом наборе бенчмарков уже не было никакой нужды.
В итоге SPEC вновь вступила в игру, выпустив столь необходимое обновление. Всё-таки основной задачей компании является создание соответствующих бенчмарков, которые тесно связаны с современными отраслевыми стандартами.
AMD и Nvidia входят в SPEC, что позволяет им оказывать некоторое влияние на разработку новых тестов. Смысл заключается в том, чтобы ни одна из компаний не получила несправедливого преимущества. Посмотрим, как это выглядит на практике.
CATIA V6 R2012
Creo2
Хоть наша новинка и снова опережает свою предшествующую модель, обе видеокарты Nvidia Quadro её превосходят. Очевидно, что разработчикам драйверов AMD ещё есть куда стремиться.
Maya 2013
В этом тесте всё наоборот, и здесь свой вклад в успех AMD вносит Autodesk, а