Параллельно с выходом Windows 7 несколько месяцев назад производители видеокарт представили много моделей на новых GPU, после чего занялись совершенствованием драйверов для своих продуктов. Как нам кажется, сегодня прошло достаточно времени, чтобы они смогли разобраться с самыми острыми проблемами под свежей операционной системой (которые, честно говоря, были не такими критичными, как в случае появления Vista), а объективные тесты должны показать состояние новой технологии.
Конечно, мы понимаем, что сегодня основное внимание приковано к 3D-технологиям, но мы решили вернуться к компоненту графики, который сегодня воспринимается как должное – 2D-графике. Причём не думайте, что мы просто решили добавить пару тестов к нашему тестовому пакету, подняв проблемы, решённые ещё во времена, когда производительность RAMDAC давала существенную разницу. Но подробнее об этом мы поговорим чуть позже.
Хотя большинство пользователей будут интересоваться скоростью отображения графического интерфейса Windows (по которому Windows 7 получила немало похвал по сравнению с Vista), мы обнаружили, что предполагаемое "графическое обновление" Windows 7 не такое свежее, как кажется. По сравнению с Windows XP (и даже Vista) производители графических процессоров пока не провели полной оптимизации 2D-графики под Windows 7, по крайней мере, как показывают исследования новой реализации вызовов API GDI (Graphics Device Interface). Мы все знаем, что 2D-графика состоит не только из забавной палитры, оптических эффектов переходов и анимированных меню с тенями; разработчикам нужно ускорять отрисовку старых добрых пикселей, линий, кривых, прямоугольников, полигонов и всевозможных графических примитивов, как их часто называют.
Мы не хотели давать статье какую-либо эмоциональную окраску, хотя приверженцы "красного" или "зелёного" лагерей будут протирать глаза во время чтения материала. Поскольку мы сами не поверили в результаты тестов, то потратили дополнительное время на подготовку статьи, чтобы в интересах всех сторон результаты были максимально объективными и повторяемыми. Мы также поработали над тем, чтобы создать наиболее объективную основу для сравнения видеокарт между собой. Мы не хотели указывать пальцем в сторону того или иного производителя: важно понимать, что данная статья призвана помочь тем пользователям, кто использует компьютер не только для игр, но и выполняет на своих ПК настоящую работу.
В данном отношении важно понимать, что сегодня может быть весьма сложно продуктивно работать с 2D-графикой под Windows 7. Например, когда мы использовали Radeon HD 5870 и последние драйверы, то с большими сложностями смогли вывести простую векторную графику, простые или сложные дизайны CAD или даже поиграть в 2D-игры с высоким качеством графики. Это не столько критика, сколько попытка определить пределы проблемы, которую мы попытались проанализировать, и понять проблему максимально глубоко.
Поскольку большинство пользователей вряд ли знают о встроенных функциях и поведении 2D-ускорения под Windows XP или Windows 7, мы решили разбить нашу весьма глубокую статью на две части. В первой части мы рассмотрим технические детали, касающиеся 2D-графики, чтобы наши читатели смогли подготовиться к восприятию второй части. Вы не только сможете разобраться в наших тестах, но и сможете лучше их интерпретировать. Чтобы облегчить наше тестирование, мы даже разработали собственную небольшую тестовую программу (и открыли к ней доступ, чтобы все заинтересованные пользователи смогли скачать и использовать программу самостоятельно - во второй части статьи). Наша цель заключалась в том, чтобы сделать обе части статьи максимально информативными, доступными и полноценными.
В следующем разделе мы рассмотрим основы 2D-графики. Между тем мы также считаем, что некоторые основы в данной области никому не помешают, они могут оказаться полезными для понимания других тем, а не только наших тестов.
Давайте вернёмся в 1985 год. В этом году Михаил Горбачёв стал секретарём ЦК КПСС, "Амадей/Amadeus" получил "Оскара" за лучший фильм, а Рональд Рейган был выбран на второй срок 40-м президентом США. Мало кто заметил, но именно в 1985 году была выпущена операционная система Microsoft Windows 1.0.
[585x323] |
Идея наложить виртуальный графический интерфейс на операционную систему с текстовым режимом вряд ли была такой революционной, причём даже в 1985 году. Фактически, именно такой подход разные компании, включая Microsoft и Digital Research, использовали в то время, чтобы расширить своё присутствие на рынке и сделать технологию ПК более доступной для большей части потенциальных покупателей и пользователей. Идея заключалась в том, чтобы приложения были достаточно дружественны к пользователям, то есть чтобы даже непрофессионалы в сфере ИТ могли работать с ними без предварительного глубокого изучения компьютера. Что интересно, в отличие от даже Windows 1.0, многопользовательская ОС Digital Research GEM поддерживала наложение окон уже в то время.
[585x439] |
Если бы в 1987 году не была представлена операционная система Windows 2.0, где уже была поддержка множества накладывающихся друг на друга окон, то вполне возможно, что про Microsoft Windows сегодня никто бы и не знал. Фактически, Windows обязана своим выживанием дольше первых двух лет после первоначального объявления тому, кто имеет и сегодня огромное влияние в Microsoft – а именно Стиву Балмеру (Steve Ballmer). Его рекламу Windows 1.0 сложно забыть и сегодня, поскольку он нескромно выставил цену за Windows 1.0 на впечатляющем уровне $99 (немалая сумма для 1985 года), несмотря на отсутствие поддержки реальных окон. Стив Балмер действительно мог увлечь зрителя – его можно назвать гением маркетинга. Посмотрите сами.
С выпуска версии 2.0 ОС Windows смогла давать (по крайней мере) эволюционные, пусть не революционные изменения в своих последующих релизах. Фактически, революционное изменение оказалось в проблемах, какие мы бы хотели поднять в Windows 7, наиболее свежем выпуске компании.
Последняя версия оказалась как раз той, которая поднимает глубокие вопросы, заставившие нас обратиться к самому началу Windows. Причины тому простые и наглядные. Благодаря нашему сравнению техники работы с окнами, мы узнали о существовании двух сторон графического интерфейса Windows: графический пользовательский интерфейс или GUI (мы не учитывали настройку со стороны пользователя, а сконцентрировали внимание на базовом рабочем столе и работе с ним), включая работу с окнами, а также простые графические функции, которые используются для создания настольного окружения. Фактически, отображение содержимого окон и работа с ними являются двумя раздельными, пусть и связанными, сферами ОС Windows. Вид и ощущения от работы с интерфейсом Windows продолжили меняться и эволюционировать, но лежащие под ним простые графические 2D-функции оставались удивительно неизменными со временем.
Подкованные читатели наверняка знают о том, что пользовательский интерфейс с окнами уже не опирается на чистую 2D-графику. Именно поэтому мы объясним ниже, что существует небольшой набор графических команд 2D, которые следует рассматривать в свете их отображения на физическом дисплее, в более или менее трёхмерном виде.
Если вы посмотрите на отображение в любом окне, то вам потребуются только две координаты: X и Y, то есть ширина и высота. Чего не хватает? Какой-либо информации о глубине.
В Windows графика 2D отображается через GDI (Graphics Device Interface). Данный интерфейс поддерживает все языки программирования высокого уровня и содержит все важные графические функции, которые необходимы для рендеринга графических объектов 2D. Более поздние улучшения, такие как GDI+ и Direct2D, не играют особой роли, поскольку GDI был (и остаётся) самым важным инструментом для графического вывода 2D в приложении. Критически важные функции вывода пикселей, линий, кривых, полигонов, прямоугольников, эллипсов и так далее – все они изначально просчитывались на CPU. Благодаря развитию видеокарт, последнее поколение "железа" обеспечивает более быстрые 2D-расчёты и рендеринг. Эта ранняя форма 2D-ускорения остаётся важной даже сегодня, но двумерное ускорение уже не является основной целью. Чтобы получить максимум от графической производительности, нам нужна третья координата.
Изначальный способ 2D-рендеринга, который скрывается под наложением окон на экране дисплея, прост и прямолинеен. Нам нужно знать два параметра: первый – это область на экране внутри каждого окна, которая будет меняться (поэтому её требуется перерисовывать). Второй – это порядок, в котором окна или объекты накладываются друг на друга (будет ли объект виден полностью или частично, либо он будет закрыт другим окном). Данный тип информации требует так называемого 2,5-мерного измерения или использования слоёв графики, когда третья координата принимает значение 0 (скрытая) или 1 (видимая), то есть выступает как своего рода вспомогательное измерение. Именно по этой причине многие эксперты в области Windows много говорят о графике 2,5D.
После того, как с порядком или видимостью окон всё будет определено, содержимое видимых окон может выводиться с помощью чистых двумерных графических функций. В любом случае, необходимо не только просчитывать содержимое окон дисплея полностью, но также нужно управлять различными типами информации и контентом окон. Что случится, например, если окно будет перемещено? Когда другое окно содержит область, которая полностью или частично открывается в результате этого действия, то должна быть вызвана системная графическая функция WM_PAINT с точной информацией о том, какую прямоугольную область следует перерисовать. Оптимизированные реализации функции будут реконструировать или перерисовывать эту область. К сожалению, многие реализации вместо этого перерисовывают окно полностью, несмотря на возможность доступа к более точным инструкциям, независимо от того, требуется полностью или частично воспроизвести содержимое окна. Это, в свою очередь, оказывает влияние на графическую производительность. Другой недостаток хорошо известен – он заключается в размывании или дублировании, когда окно начинаешь быстро перетаскивать по всему экрану на системе, где отсутствует аппаратное ускорение 2D.
Но позвольте подвести итог тому, что мы рассмотрели на данный момент. На дисплее есть отдельные окна, чей двумерный контент должен отрисовываться на экране, чтобы его можно было видеть. Эти окна можно двигать как угодно, при этом они могут перекрываться и частично или полностью закрываться другими окнами. Необходимо управлять видимым содержанием всех этих окон, его требуется выводить на экран с минимальной задержкой. Мы также знаем, что сам по себе CPU, пусть даже это будет очень быстрый процессор, может слишком сильно нагрузиться при выполнении подобных сложных задач. Какие есть выходы, кроме того, чтобы переложить эту нагрузку на видеокарту? Что для этого требуется? И почему всё звучит проще в теории, чем реализуется на практике? Всё это мы рассмотрим чуть ниже.
Дискретные видеокарты сначала были нужны только для двумерной работы. Не секрет, что сегодня дискретные видеокарты дают прекрасную производительность, когда нужно работать со сложными графическими задачами рендеринга. Впрочем, старые видеокарты уже слишком медленные для повседневной работы, особенно когда им приходится выводить сложные графические эффекты рендеринга, присутствующие в последней версии Windows. С другой стороны, это связано с графической сложностью современных пользовательских интерфейсов Windows, а с другой стороны - с ограниченной графической функциональностью. Но давайте разберёмся с этими компонентами, с одним за другим.
В данном разделе мы рассмотрим графическое ускорение 2D, связанное с "родным" рендерингом графики, от GDI до самой видеокарты. Сюда входят простые геометрические объекты, такие как пиксели, линии, кривые, полигоны, прямоугольники и эллипсы с одной стороны, а также их масштабирование, рендеринг или операции сглаживания шрифтов (таких как TrueType или OpenType) с другой стороны.
Давняя поддержка аппаратного ускорения так называемых "2D-примитивов" в видеокартах исчезла, она уже некоторое время отсутствует в продуктах потребительского уровня. Сегодня ускорение двумерных графических функций реализуется как аналог трёхмерного ускорения, но обрабатывается исключительно и полностью программным графическим драйвером, а не встроенным на плату "железом".
Во второй части нашего цикла мы представим и разъясним тест, который мы специально разработали для двумерной графики, который тщательно тестирует ключевые и фундаментальные функции 2D-графики. Более того, этот тест показывает, что программный драйвер может негативно и непредсказуемо сказываться на 2D-графике. Мы также представим девять общих тестовых критериев.
Преобразование функций отрисовки - это только часть двумерного ускорения. Значительное и весьма позитивное ускорение осуществляется современными 3D-видеокартами, которые могут выполнять рендеринг, управление и отображение графической информации 2,5D аппаратными средствами.
Как всё это работает? Как и в случае 3D-графики, просчитываются видимые и скрытые области окон, которые хранятся полностью в виде виртуальных прямоугольных участков, в них выводится в реальном времени содержимое всех активных окон. Поэтому ничего не требуется пересчитывать при перемещении или изменении окна; только те области, которые были скрыты, а сейчас стали видны, необходимо перерисовать вместе со всем, что изменилось со времени последнего обновления. Видеокарта всегда знает размер и расположение виртуальных прямоугольников, известных как окна. Используя буфер глубины (z-буфер) видеокарта отслеживает порядок и приоритет вывода окон или объектов на экране (он также известен как Z-порядок). Поэтому видеокарта может сама определить, какие объекты видимые, то есть что требуется вывести непосредственно на сам экран.
Позвольте подвести краткий итог тому, что всё это означает.
Современное аппаратное ускорение 2D включает как реализацию ключевых функций отрисовки 2D, так и реализацию технологий наложения слоёв 2,5D для окон и пользовательского интерфейса.
При этом было бы слишком тяжело исследовать каждую вышедшую версию Windows для поиска дополнительных деталей. Поскольку проблемы, выявленные нами, касаются производительности тестов только под Windows 7, мы ограничили наше тестирование Windows XP, Vista и, вполне естественно, Windows 7.
Вы можете говорить о Windows XP всё, что думаете, но аппаратное ускорение GDI работает безупречно и по сей день, при этом его хватает для большинства типов приложений. Впрочем, чего XP сделать не может, так это переложить технику работы со слоями 2,5D на современные 3D-видеокарты. Как мы уже описывали выше, рендеринг содержимого окон выполняется самими приложениями.
[585x542] |
Это ограничение вряд ли обеспокоит тех пользователей, кто концентрирует свои усилия на любом одном окне настольного приложения. Наиболее типичное применение подобной технологии можно видеть в окружениях SDI (single device interface, интерфейс одного устройства). Но всё становится более неудобным, когда на рабочем столе открыты и видны множество окон. Кто будет против того, чтобы воспользоваться улучшенной технологией слоёв, которая поддерживает меню, лучше работает на современном "железе", а также облегчает работу с несколькими окнами на нескольких мониторах? Кому не хотелось бы оставить размывание перемещаемых окон и следы за ними в прошлом, получив более высокую графическую 2D-производительность?
[585x400] |
Хотя чистая 2D-производительность в векторных графических программах, таких как Corel Draw или приложений САПР, достаточно высока, поскольку функции GDI в них поддерживаются должным образом, мы упёрлись в ограничения возможностей WM_PAINT. Когда графический интерфейс XP перегружен анимацией, мягкими тенями, прозрачными окнами и другими графическими элементами, он вплотную приближается к пределам 2D-графики.
[585x465] |
Многие пользователи обнаружили, что лучше всего отображать окна только в виде рамок при их переносе, а анимированные меню вообще лучше выключить. В целом, экономия графических ресурсов оказывается вполне нормальным подходом при работе на рабочем столе XP. К сожалению, многие красивые графические темы оказались, в конце концов, в корзине после первоначальной эйфории, связанной с запуском новой операционной системы, поскольку ОС теряла способность выводить всю графику без ошибок или без задержек.
Microsoft быстро заметила, что её графическое решение 2D, которое присутствовало во всех версиях Windows до этого, включая XP, требует замены. Да и растущая доступность всё более быстрых 3D-ускорителей вместе со снижающимися ценами на дискретные GPU явно указывали на то, что времена (и операционные системы) меняются.
На данный момент важно отметить, что аппаратное ускорение в XP изначально не работало с интегрированным графическим ядром ATI 780G в "родных" разрешениях вообще. В результате окна отрисовывались медленно, что ухудшало даже базовую производительность web-браузера. Последующие обновления драйвера помогли решить эти проблемы. Но даже сегодня графическое ядро 780G не может работать оптимально, что сильно контрастирует с 740G. Но сегодня, когда XP уже остаётся в прошлом, это суждение, возможно, тоже должно разделить подобную судьбу...
Затем на рынок вышла Windows Vista, которая является, возможно, самой противоречивой ОС Microsoft (вместе с Windows ME). В любом случае, независимо от вашей любви или ненависти к Vista, компания уже не могла откладывать некоторые технические совершенствования.
Краткий итог по XP таков.
Когда мы впервые установили Windows Vista, то едва сдерживали себя. Интригующая, сложная и улучшенная, Vista обещала очень немало.
[585x478] |
Но то, что казалось очень революционным на первый взгляд, сменялось огорчениями при запуске того или иного приложения, а иногда и просто вселяло ужас. Давайте рассмотрим самые важные особенности в деталях.
Эта технология была впервые реализована в Windows Vista. На её выход потребовалось весьма долгое время, но в 2006 году технология, наконец, появилась. Впрочем, одно небольшое ограничение оставалось: она работала только в том случае, если был активирован интерфейс Aero. Кроме того, для поддержки слоёв 2,5D требовалась видеокарта с поддержкой 3D, причём даже если вы не планировали запускать 3D-приложения или игры. Если вы использовали тему Vista Basic, то приходилось смириться с теми же эффектами размытия и раздвоения при перемещении окон, которые были знакомы пользователям XP, поскольку поддержка слоёв 2,5D автоматически выключалась – даже если в системе была установлена 3D-видеокарта. Обидно.
Переход на поддержку слоёв 2,5D также заставил Microsoft решать несколько проблем. Vista считалась медленной операционной системой, но, по большей части, стабильной. Но что же случилось? Мы уже упоминали, что GDI был ключевым интерфейсом для программирования графики. После введения (к сожалению), очень медленного расширения GDI+ на основе C++, которое так и не обусловило технологического прорыва из-за своей производительности, мы уже не могли отрицать существование своего рода "хаоса интерфейсов". Фактически, было очень и очень непохоже, что GDI, GDI+, DirectDraw и Direct3D могут быть вообще одновременно ускорены аппаратно.
Помимо новой модели драйверов устройств, Windows представила модель DWM для управления устройствами вывода на экран. Общая концепция оказалась не такой простой, она добавила программный уровень (и соответствующее увеличение сложности) между окнами и командами отрисовки с одной стороны, а также между драйверами и устройствами с другой стороны. Прямое взаимодействие было прекращено по причине появления DWM. Пытаясь получить контроль над всем, модель DWM обеспечивала координацию всех отдельных графических интерфейсов. Этот переход оставил в стороне довольно серьёзную графическую особенность, о которой мы уже упоминали – а именно аппаратное ускорение функций отображения GDI. Понять сложно, но так именно и произошло.
Большую часть дополнительной памяти, которую потребляет Vista, обычно относят к технологии SuperFetch. К сожалению, это лишь частично описывает ситуацию в реальности. Отсутствие аппаратного 2D-ускорения привело к тому, что вся тяжесть вызовов GDI по выводу содержимого окон ложится на CPU. Всё это приводит к огромному буферу внутри DWM. Полные отображения окон должны затем передаваться на видеокарту. Но это быстро привело к появлению серьёзного "узкого места", поскольку только одно окно в один момент времени может отсылать команды GDI на DWM. Асинхронные задачи не разрешаются, что приводит к длительной очереди ожидающих запросов на обслуживание. Всё это не только требует существенного процессорного времени на выполнение, но и потребляет немалый объём памяти, поскольку все активные окна находятся внутри буфера DWM. Отдельные окна могут занимать 100 Мбайт, так что вполне понятно, что потребление памяти будет увеличиваться. В самых экстремальных случаях Vista может попросту "зависнуть" – например, когда вредоносная программа будет открывать одно окно за другим в бесконечном цикле. Конечно, такой цикл не может продолжаться бесконечно, поэтому вам придётся выполнить принудительное выключение компьютера, чтобы восстановить контроль над системой.
[585x291] |
Подведём краткий итог по Vista.
С помощью нашего нового теста мы надеемся глубже разобраться в истинных причинах подобного падения производительности 2D, которые мы недавно обнаружили с видеокартами Radeon HD 5870, 5850 и 5750 в нашем распоряжении. Начнём с того, что 2D-ускорение функций GDI под Windows 7 явно не работало ни на одной из моделей линейки Radeon HD 5000, то есть перед нами не просто серьёзное замедление. В чём проблема: в драйвере или в "железе"? В случае с nVidia тоже не всё оказалось благополучно: на видеокартах этой компании ускорялись не все возможные функции.
| Тестовая конфигурация | ||
| Процессор | Intel Core 2 Quad Q6600, 2,4 ГГц @ 3,2 ГГц, степпинг G0, кэш L2 8 Мбайт, LGA 775 | |
| Память | 4 Гбайт DDR2-1066 CL5 | |
| Материнская плата | A-Data Vitesta Extreme | |
| Операционная система | Windows 7 Ultimate x64 | |
| Видеокарты | Radeon HD 5870, GeForce GTX 285 | |
| Графический драйвер | Catalyst 9.12, GeForce 195.62 | |
| Видеокарты | Тактовая частота при включённых Aero/DWM | Тактовая частота без ускорения |
| ATI Radeon HD 5870 | 850 МГц | 157 МГц |
| Nvidia GeForce GTX 285 | 648 МГц | 300 МГц |
Чтобы заложить более прочную основу для сравнения включённого/выключенного 2D-ускорения, мы также провели все наши тесты на старом чипсете nForce 610i с интегрированным графическим ядром GeForce 7050 (без выделенной памяти). Мы установили тот же самый процессор и 4 Гбайт памяти, после чего использовали ту же самую операционную систему Windows 7. Мы также проверили производительность предшественницы Radeon HD5870, видеокарты ATI Radeon HD 4870, в нашей тестовой платформе.
В данном тесте все тестовые видеокарты находятся в узком диапазоне производительности.
Интересно было бы услышать от nVidia комментарии по поводу того, почему интегрированный графический процессор отображает 2D-графику быстрее, чем GeForce GTX 285, пусть даже разница весьма скромная.
Видеокарта Radeon HD 4870, взятая нами для сравнения, расположилась третьей снизу, хотя никаких особых недостатков она не демонстрирует.
Удивительно, но видеокарта Radeon HD 5870 просто не способна выводить линии с аппаратным ускорением с приемлемой производительностью.
Если обе тестовые видеокарты nVidia и AMD дали выдали приемлемые и относительно близкие результаты с выключенным 2D-ускорением, когда всю работу выполнял CPU, между двумя видеокартами открывается существенный разрыв после включения Aero. GeForce GTX 285 работает в 11 раз быстрее ATI Radeon HD 5870. Что ещё хуже, интегрированный графический процессор с материнской платы за $50 двухлетней давности на порядок обходит видеокарту за $400.
Полученные нами данные для Radeon HD 4870 показывают небольшую разницу между активным режимом Aero и простым режимом (без ускорения графики) под Windows 7, что заставляет предположить об отсутствии ускорения по отрисовке линий под Windows 7. Данная видеокарта отказалась заметно медленнее GeForce GTX 285 и интегрированного графического решения, однако она всё же обходит Radeon HD 5870 с включённым и выключенным ускорением.
Данный тест даёт примерно такую же картину, что и тест отрисовки линий. Видеокарта Radeon HD 5870 находится в конце, подтверждая наше предположение о том, что она не способна правильно работать с 2D-приложениями. Это вряд ли можно назвать терпимым даже для потребительского рынка.
С включённым интерфейсом Aero и активным DWM, видеокарта GeForce GTX 285 даёт в девять раз более высокую производительность. Точно также даже старое интегрированное ядро чипсета значительно обходит новую видеокарту AMD. Кстати, производительность Radeon HD 4870 оказалась весьма любопытной: видеокарта способна аппаратно ускорять вывод кривых, пусть даже производительность снижается по сравнению с обоими решениями nVidia.
Поскольку у нашей Radeon HD 5870 наблюдались явные проблемы с рендерингом линий (особенно при насыщенных штрихах), мы видим, что половина результатов нашего теста прямоугольников соответствует предыдущим находкам, и это не удивляет.
В любом случае, весьма интересно видеть, как производительность Radeon HD 5870 удваивается после включения аппаратного ускорения (по сравнению с выключенным ускорением), пусть даже производительность оказывается чуть хуже GPU GeForce 7050.
Тест прямоугольников оказался единственным, где мы обнаружили заметный эффект включения аппаратного ускорения на видеокартах ATI, и где аппаратное ускорение достойно своего названия. Видеокарта Radeon HD 4870 выиграла от этого эффекта сильнее, чем 5870, пусть даже она отстала от остальных видеокарт в данном тесте без ускорения.
В данном случае победа присуждается старому интегрированному графическому ядру. Nvidia nForce 610i обходит все другие дискретные видеокарты с удивительно большим отрывом, причём неважно, с активным 2D-ускорением мы их берём или с неактивным. Интересно отметить, что для обеих топовых 3D-видеокарт ускорение вывода полигонов не работает вообще.
Интегрированное графическое ядро с включённым Aero работает в 10 раз быстрее, чем Radeon HD 5870. Без ускорения Radeon HD 4870 работает чуть медленнее, чем 5870. Но после включения Aero производительность 4870 более чем в два раза превышает 5870.
Результаты похожи на те, что мы видели выше. Обе high-end видеокарты не обеспечивают 2D-ускорения, в отличие от интегрированного чипсета. Видеокарта Radeon HD 5870 становится аутсайдером, а старая Radeon HD 4870 располагается где-то посередине.
Мы получили схожие результаты, когда мы использовали Radeon HD 5750, где сглажены некоторые дефекты, касающиеся 5870. Мы также сравнивали драйверы Catalyst 9.11 и 9.12 и обнаружили заметный прирост производительности при переходе со старой версии на новую, независимо от того, было включено аппаратное ускорение или нет. Нашим следующим сравнением будет измерение производительности Windows 7 и Vista, но мы оставим его до второй части статьи. Достаточно сказать, что даже здесь мы обнаружили немало сюрпризов во время проведения тестов.
Если судить по нашему анализу текущей ситуации, то у новых видеокарт линейки ATI Radeon HD 5000 наблюдаются проблемы с 2D-графикой. Также нас весьма беспокоит и то, что старый интегрированный чипсет оказался быстрее в некоторых областях (против обеих дискретных видеокарт AMD и nVidia). Кроме того, мы не смогли найти какого-либо приемлемого решения для работы с программами, использующими векторную графику. Причём это касается не только нашего тестирования; это касается всех, кто регулярно работает с 2D-графикой. Честно говоря, довольно сложно представить, как старая видеокарта Radeon HD 4870 смогла вплотную подойти или даже победить новые видеокарты в столь большом количестве тестов.
Хотя 2D-ускорение (включая слои 2,5D) работает хорошо, AMD пока не реализовала некоторые базовые функции GDI в линейке видеокарт Radeon HD 5000. После первоначального появления Windows 7 прошло уже несколько выпусков драйверов, поэтому ситуацию будет сложно понять тем, кто потратил несколько сотен долларов на новенькую видеокарту, но при этом получил "тормоза" в 2D-приложениях. Мы также вынуждены напомнить, что всё это касается не только нашего синтетического 2D-теста, но и различных реальных приложений, которые мы используем в наших тестах, включая AutoCAD, Corel Draw, Adobe Illustrator, Photoshop CS3/CS4, Microsoft Publisher, PowerPoint и так далее. Это требует срочной и серьёзной доработки драйверов со стороны AMD, особенно в связи с тем, что наши результаты под Vista демонстрируют намного более высокую производительность, чем под Windows 7 (во второй части статьи мы как раз об этом и поговорим).
Во время подготовки статьи и проведения тестов мы несколько раз звонили Анталю Танглеру (Antal Tungler), техническому PR-менеджеру AMD, обсуждая с ним 2D-производительность линейки Radeon HD 5000 под Windows 7. Когда мы доказали себе, что данные проблемы производительности связаны конкретно с проблемами GDI, которые испытывает почти любая программа, работающая с окнами на рабочем столе, подобная ситуация уже не показалась нам терпимой, особенно для домашних и офисных пользователей. Тем более что интегрированный графический GPU у конкурента справлялся с 2D-графикой более эффективно.
Мы можем только предполагать (и надеяться), что причина и возможное решение кроются в драйверах Catalyst. Если это так, что AMD сможет исправить проблемы довольно легко. Учитывая недавний выход недорогих видеокарт, можно предположить, что проблемы касаются всей линейки. Но что нас беспокоит больше, учитывая результаты тестов - прямоугольники получают заметное ускорение, а все другие графические примитивы (особенно линии и кривые) - нет. Мы наблюдаем серьёзное падение производительности при активации аппаратного ускорения GPU - а это говорит о том, что ничего хорошего здесь не происходит. Дискретная видеокарта nVidia также отстаёт при рендеринге эллипсов и полигонов, и нам очень интересно узнать, почему это происходит.
Пока что мы рекомендуем пользователям видеокарт линейки Radeon HD 5000 отключать интерфейс Aero при работе с программами, интенсивно использующими 2D-графику. В таком случае прирост производительности может составить до 300%, что легко компенсирует отсутствие красивых и прозрачных оконных рамок. Кроме того, вы можете отключить Aero только для запускаемых программ, чтобы не отказываться от интерфейса Aero вообще.
Нажмите правой клавишей на иконку программы, затем выберите пункт "Свойства/Properties" из появившегося меню. Выберите закладку "Совместимость/Compatibility" в окне свойств, после чего отметьте галочкой пункт "Отключить композицию рабочего стола".
Во второй части мы вновь протестируем возможности видеокарт AMD и сравним их с прямыми и непрямыми конкурентами от nVidia. Между тем мы пообщаемся с представителями AMD и nVidia и обсудим результаты нашего первоначального теста. Нам очень интересно узнать, что они ответят.
После интенсивного обсуждения этой темы с нашими коллегами мы решили, что проведём более глубокие тесты на разном "железе" под XP, Vista и Windows 7. Нашей целью будет найти более глубокое понимание графических возможностей 2D всех этих операционных систем. Мы планируем взглянуть на старые видеокарты S3, Voodoo, многочисленные старые модели GeForce и полную линейку видеокарт AMD/ATI. В общем, мы хотим ничего не оставить в стороне, включив в тесты даже интегрированные графические ядра из нашего большого набора материнских плат.
Мы уже знаем, что во время этого процесса мы обнаружим несколько интересных моментов, а также и ряд разочарований. Во второй части статьи мы также приведём более точное описание тестов, рейтингов тестовых результатов, а также дадим возможность скачать Tom2D Benchmark самостоятельно. Мы уверены, что вы найдёте этот материал весьма интересным, особенно когда мы обнаружим, какие видеокарты потребительского уровня дадут более высокую графическую производительность 2D под конкретные версии Windows. Вас ждут сюрпризы, так что оставайтесь с нами!
Обновление. Взглянув на наши предварительные результаты 2D-производительности, представители AMD выдвинули следующие предположения.