Дорогие читатели! Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Дорогие читатели,
Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Дело в том, что деньги, которые мы получаем от показа рекламных баннеров, позволяют нам писать статьи и новости, проводить тестирования, разрабатывать методики, закупать специализированное оборудование и поддерживать в рабочем состоянии серверы,
чтобы форум и другие проекты работали быстро и без сбоев.
Мы никогда не размещали навязчивую рекламу и не просили вас кликать по баннерам.
Вашей посильной помощью сайту может быть отсутствие блокировки рекламы.
Посмотрим, как изменилась производительность пиксельных процессоров NV35 по сравнению с NV30.
Тест с использованием пиксельных шейдеров 2.0 показывает очень интересные
результаты для чипов NVIDIA, особенно учитывая заявленное повышение мощности
пиксельных шейдеров DirectX9 в NV35 в два раза. Учитывая, что тактовая
частота GeForce FX 5900 Ultra на десять процентов ниже, получаем следующую
разницу в производительности чипов на одинаковой частоте в разных тестах:
Тест
1
3
4
5
7
GeForce FX 5900 Ultra / 5800 Ultra
+15%
-19%
0%
-32%
+46%
Чтобы понять, почему на разных тестах мы видим различную разницу в производительности
чипов, нужно заглянуть в код шейдеров. Вот оно, замечательное преимущество
синтетических тестов RightMark 3D! Выводы, которые можно сделать из кода
шейдеров, заключаются в том, что шейдеры 1 и 7 (кстати, 6-ой тоже) используют
значительно большее количество текстурных выборок (а 6 и 7 тесты к тому
же выбирают данные из 3D текстур) относительно арифметических команд шейдера
по сравнению с остальными тестами. Отсюда можно сделать вывод, что опять
повышение производительности связано с возросшей пропускной способностью
шины и улучшенными алгоритмами кэширования.
Но постойте! А как же падение производительности в других тестах при
заявленном росте в 2 раза! Дело в том, что GeForce FX 5900 Ultra выполняет
операции с плавающей точкой в пиксельных шейдерах 2.0 с истинной 32 битной
точностью (128 бит на регистр), в отличие от GeForce FX 5800 Ultra, у которой
драйвер ограничивает точность операций 16 битами (64 бит на регистр). В
дальшейших исследованиях GeForce FX 5900 Ultra мы несомненно исследуем
поведение чипа в пиксельных шейдерах 2.0 более детально.
Что касается Radeon 9800 Pro, то он так и остался безусловным лидером.
Point Sprites
С освещением и без, в зависимости от размеров:
Как и ожидалось наличие или отсутствие освещения сказывается только
на маленьких спрайтах, по мере роста размера все упирается в закраску.
Происходит это при размере 8 и более. Итак, для вывода систем, состоящих
из большого числа частиц, следует признать оптимальными размеры менее 8.
Кстати, размер 8 является своеобразным оптимумом для чипов NVIDIA, при
этом размере они смогл,и хотя и несущественно, но обойти Radeon 9800 Pro,
возможно, это связано с размером кешируемых тайлов у NVIDIA. Также заметно
увеличившаяся эффективность работы с буфером кадра у GeForce FX 5900 Ultra
по сравнению с предшественником: если при использовании освещения (т.е.
повышенной нагрузке на геометрический блок чипа) более 500 Ultra идет вровень,
то когда основная нагрузка ложится на блок работы с буфером кадра новичок
вырывается вперед.
Radeon 9800 Pro в большинстве режимов все также лидирует, сказывается наличие 8
пиксельных конвейеров, выдающих по пикселю за такт при наложении одной текстуры.
3D-графика, 3DMark2001 SE, 3DMark03 синтетические тесты
Подчеркну, что все замеры по всем 3D-тестам проводились в 32-битной глубине цвета.
Скорость закраски 3DMark2001 SE
Рост производительности GeForce FX 5900 Ultra при использовании AA очевиден, хотя Radeon 9800 Pro, несмотря
на меньшую пропускную способность шины, лидирует и при использовании АА. Заметим, что в отличие от
RightMark 3D в 3Dmark 2001 GeForce FX 5900 Ultra опережает 5800 Ultra и без использования АА, причиной
несомненно является большие требования теста в 3DMark 2001 к пропускной способности шины.
В случае мультитекстурирования:
Сравнивая с предыдущим тестом, мы видим, что скорость чипов NVIDIA при
мультитекстурировании выше, чем у Radeon 9800 Pro. Такое поведение вполне
объяснимо. По мере увеличения числа текстур все большую роль играет производительность
их выборки и фильтрации, которая в первую очередь определяется тактовой частотой
ядра чипа, а не количеством пиксельных конвейеров и пропускной способностью
шины. В данном случае у всех чипов количество текстурных блоков одинаково
и равно 8, соответственно, главную роль начинает играть тактовая частота
чипа. В порядке оной ои и выстроились: сначала 500Мгц NV30, далее 450Мгц
NV35 и наконец 380Мгц R350.
Также интересно заметить, что при включенном режиме AA производительность
чипов NV3x падает более существенно, нежели R300 — несмотря на сжатие буфера
кадра в режиме MSAA, имеющее место у всех чипов, и даже большую ПСП у NV35.
Скорость закраски 3DMark2003
Картина аналогична наблюдавшейся нами в 3DMark 2001, только абсолютные числа несколько
меньше – добротность теста немного ниже и цифры дальше от предельных значений.
В случае мультитекстурирования:
Результаты полностью аналогичны полученным нами в 3DMark 2001.
Пиксельный шейдер 2.0
В данном тесте GeForce FX 5900 Ultra смогла опередить 5800 Ultra и при больших разрешениях даже обгоняет
Radeon 9800 Pro. Опять возвращаясь к RightMark 3D, мы видим, что данный тест функционально близок к
Pixel Shading тестам Shader Level 6 и 7, также использующие процедурные текстуры, и видимо поэтому также
очень сильно зависит от скорости текстурных выборок, что и приводит к выигрышу в скорости у
GeForce FX 5900 Ultra по отношению к предшественнику.
Продолжая строить аналогии с тестами Shader Level 6 и 7 из RightMark 3D
видим, что в RightMark 3D Radeon 9800 Pro сильно опережает оба чипа NVIDIA,
а в 3DMark03 такого преимущества не наблюдается. Видимо, не зря программисты
NVIDIA едят свой хлеб: оптимизация под этот тест налицо, особенно если взглянуть
на результаты GeForce FX 5800 Ultra на драйвере версии 43.45.
Вершинные шейдеры 1.1
В тесте анимируются 30 тролей, каждый из которых состоит приблизительно из 5500
треугольников. Персонажи прорисовываются в четыре прохода (во время каждого
прохода фигура троля заново анимируется в шейдере), используя вершинные шейдеры
1.1.
Итого получаем примерно 30*5500*4 = 660,000 треугольников рисуемых в каждом
кадре. Результат приводится в кадрах в секунду.
Тест вершинных шейдеров, используемый в 3DMark03 хотя и сильно отличается от используемого
в RightMark3D, но выдает похожие результаты: GeForce FX 5900 Ultra также проигрывает
порядка 10% своему предшественнику 5800 Ultra, а Radeon 9800 Pro показывает
в данном тесте схожую с чипами NVIDIA скорость.
Анизотропная фильтрация
Реализация алгоритмов анизотропной фильтрации в чипе не изменилась. Все также
присутствуют три режима работы, о которых мы говорили ранее (см. настройки
драйверов). Ниже в разделе по качеству 3D вы сможете увидеть и скриншоты.
Quality — максимальное качество изображения — полностью соответствует параметрам, заданным
пользователем или приложением. Алгоритмы аналогичны используемым со времен GeForce 3
Performance — в идеале драйвер пытается определить оптимальные по качеству алгоритмы
фильтрации. Пример подобных оптимизаций можно посмотреть в статье
Алексея Николайчука aka Unwinder. В GeForce FX в дополнение к сказанному с статье используется
анизотропная фильтация, требующая меньшего количества текстурных выборок для большинства пикселей. Также
изменен алгоритм трилинейной фильтрации — чипы NV3x позволяют использовать режим, в котором выборка
и фильтрация одновременно из двух MIP-уровней производится только для части поверхности, находящейся
наиболее "близко" к переходу между MIP-уровными. Для остальной поверхности выполняется выборка и
фильтрация только одного из MIP-уровней, это приводит к двукратному росту скорости фильтрации текстур
в этом месте.
High Performance — дальнейшее упрощение фильтрации. Степень анизотропной
фильтрации, применяемой в этом режиме, еще меньше, чем в режиме Performance,
а трилинейная фильтрация также упрощена.
Выводы из результатов синтетических тестов
Итак, подведем краткий итог по детальному исследованию различных блоков NV35 с помощью синтетических тестов.
Основным вкладом в изменение производительности NV35 безусловно является увеличение
пропускной способности памяти, и связанная с этим переработка и оптимизация
контроллера памяти и работающих непосредственно с ним блоков чипа, отвечающих
за сжатие буфера кадра, а также, возможно, блока раннего отсечения по z
(early z-cull) в связи с добавлением технологии UltraShadow. Возросшая пропускная
способность памяти незамедлительно сказалась на тестах, использующих антиалиасинг.
В тестах на скорость закраски (Fillrate) при больших разрешениях получаемый
прирост измеряется не в процентах, а в десятках процентов и чуть ли не в
разах.
Каких-либо существенных архитектурных отличий в блоке, отвечающем за
геометрическую обработку, не обнаружено.
Также оптимизированы пиксельные процессоры, теперь пиксельные шейдеры,
использующие операции с числами с плавающей точкой с 32-битной точностью
(128 бит на регистр) выполняются со скоростью, сравнимой с операциями 16
битной точности в NV30. Хотя, к сожалению, скорость выполнения пиксельных
шейдеров второй версии у Radeon 9800 Pro так и осталась недостигнутой.
Посмотрим, как изменилась производительность пиксельных процессоров NV35 по сравнению с NV30.
Тест с использованием пиксельных шейдеров 2.0 показывает очень интересные
результаты для чипов NVIDIA, особенно учитывая заявленное повышение мощности
пиксельных шейдеров DirectX9 в NV35 в два раза. Учитывая, что тактовая
частота GeForce FX 5900 Ultra на десять процентов ниже, получаем следующую
разницу в производительности чипов на одинаковой частоте в разных тестах:
Тест
1
3
4
5
7
GeForce FX 5900 Ultra / 5800 Ultra
+15%
-19%
0%
-32%
+46%
Чтобы понять, почему на разных тестах мы видим различную разницу в производительности
чипов, нужно заглянуть в код шейдеров. Вот оно, замечательное преимущество
синтетических тестов RightMark 3D! Выводы, которые можно сделать из кода
шейдеров, заключаются в том, что шейдеры 1 и 7 (кстати, 6-ой тоже) используют
значительно большее количество текстурных выборок (а 6 и 7 тесты к тому
же выбирают данные из 3D текстур) относительно арифметических команд шейдера
по сравнению с остальными тестами. Отсюда можно сделать вывод, что опять
повышение производительности связано с возросшей пропускной способностью
шины и улучшенными алгоритмами кэширования.
Но постойте! А как же падение производительности в других тестах при
заявленном росте в 2 раза! Дело в том, что GeForce FX 5900 Ultra выполняет
операции с плавающей точкой в пиксельных шейдерах 2.0 с истинной 32 битной
точностью (128 бит на регистр), в отличие от GeForce FX 5800 Ultra, у которой
драйвер ограничивает точность операций 16 битами (64 бит на регистр). В
дальшейших исследованиях GeForce FX 5900 Ultra мы несомненно исследуем
поведение чипа в пиксельных шейдерах 2.0 более детально.
Что касается Radeon 9800 Pro, то он так и остался безусловным лидером.
Point Sprites
С освещением и без, в зависимости от размеров:
Как и ожидалось наличие или отсутствие освещения сказывается только
на маленьких спрайтах, по мере роста размера все упирается в закраску.
Происходит это при размере 8 и более. Итак, для вывода систем, состоящих
из большого числа частиц, следует признать оптимальными размеры менее 8.
Кстати, размер 8 является своеобразным оптимумом для чипов NVIDIA, при
этом размере они смогл,и хотя и несущественно, но обойти Radeon 9800 Pro,
возможно, это связано с размером кешируемых тайлов у NVIDIA. Также заметно
увеличившаяся эффективность работы с буфером кадра у GeForce FX 5900 Ultra
по сравнению с предшественником: если при использовании освещения (т.е.
повышенной нагрузке на геометрический блок чипа) более 500 Ultra идет вровень,
то когда основная нагрузка ложится на блок работы с буфером кадра новичок
вырывается вперед.
Radeon 9800 Pro в большинстве режимов все также лидирует, сказывается наличие 8
пиксельных конвейеров, выдающих по пикселю за такт при наложении одной текстуры.
3D-графика, 3DMark2001 SE, 3DMark03 синтетические тесты
Подчеркну, что все замеры по всем 3D-тестам проводились в 32-битной глубине цвета.
Скорость закраски 3DMark2001 SE
Рост производительности GeForce FX 5900 Ultra при использовании AA очевиден, хотя Radeon 9800 Pro, несмотря
на меньшую пропускную способность шины, лидирует и при использовании АА. Заметим, что в отличие от
RightMark 3D в 3Dmark 2001 GeForce FX 5900 Ultra опережает 5800 Ultra и без использования АА, причиной
несомненно является большие требования теста в 3DMark 2001 к пропускной способности шины.
В случае мультитекстурирования:
Сравнивая с предыдущим тестом, мы видим, что скорость чипов NVIDIA при
мультитекстурировании выше, чем у Radeon 9800 Pro. Такое поведение вполне
объяснимо. По мере увеличения числа текстур все большую роль играет производительность
их выборки и фильтрации, которая в первую очередь определяется тактовой частотой
ядра чипа, а не количеством пиксельных конвейеров и пропускной способностью
шины. В данном случае у всех чипов количество текстурных блоков одинаково
и равно 8, соответственно, главную роль начинает играть тактовая частота
чипа. В порядке оной ои и выстроились: сначала 500Мгц NV30, далее 450Мгц
NV35 и наконец 380Мгц R350.
Также интересно заметить, что при включенном режиме AA производительность
чипов NV3x падает более существенно, нежели R300 — несмотря на сжатие буфера
кадра в режиме MSAA, имеющее место у всех чипов, и даже большую ПСП у NV35.
Скорость закраски 3DMark2003
Картина аналогична наблюдавшейся нами в 3DMark 2001, только абсолютные числа несколько
меньше – добротность теста немного ниже и цифры дальше от предельных значений.
В случае мультитекстурирования:
Результаты полностью аналогичны полученным нами в 3DMark 2001.
Пиксельный шейдер 2.0
В данном тесте GeForce FX 5900 Ultra смогла опередить 5800 Ultra и при больших разрешениях даже обгоняет
Radeon 9800 Pro. Опять возвращаясь к RightMark 3D, мы видим, что данный тест функционально близок к
Pixel Shading тестам Shader Level 6 и 7, также использующие процедурные текстуры, и видимо поэтому также
очень сильно зависит от скорости текстурных выборок, что и приводит к выигрышу в скорости у
GeForce FX 5900 Ultra по отношению к предшественнику.
Продолжая строить аналогии с тестами Shader Level 6 и 7 из RightMark 3D
видим, что в RightMark 3D Radeon 9800 Pro сильно опережает оба чипа NVIDIA,
а в 3DMark03 такого преимущества не наблюдается. Видимо, не зря программисты
NVIDIA едят свой хлеб: оптимизация под этот тест налицо, особенно если взглянуть
на результаты GeForce FX 5800 Ultra на драйвере версии 43.45.
Вершинные шейдеры 1.1
В тесте анимируются 30 тролей, каждый из которых состоит приблизительно из 5500
треугольников. Персонажи прорисовываются в четыре прохода (во время каждого
прохода фигура троля заново анимируется в шейдере), используя вершинные шейдеры
1.1.
Итого получаем примерно 30*5500*4 = 660,000 треугольников рисуемых в каждом
кадре. Результат приводится в кадрах в секунду.
Тест вершинных шейдеров, используемый в 3DMark03 хотя и сильно отличается от используемого
в RightMark3D, но выдает похожие результаты: GeForce FX 5900 Ultra также проигрывает
порядка 10% своему предшественнику 5800 Ultra, а Radeon 9800 Pro показывает
в данном тесте схожую с чипами NVIDIA скорость.
Анизотропная фильтрация
Реализация алгоритмов анизотропной фильтрации в чипе не изменилась. Все также
присутствуют три режима работы, о которых мы говорили ранее (см. настройки
драйверов). Ниже в разделе по качеству 3D вы сможете увидеть и скриншоты.
Quality — максимальное качество изображения — полностью соответствует параметрам, заданным
пользователем или приложением. Алгоритмы аналогичны используемым со времен GeForce 3
Performance — в идеале драйвер пытается определить оптимальные по качеству алгоритмы
фильтрации. Пример подобных оптимизаций можно посмотреть в статье
Алексея Николайчука aka Unwinder. В GeForce FX в дополнение к сказанному с статье используется
анизотропная фильтация, требующая меньшего количества текстурных выборок для большинства пикселей. Также
изменен алгоритм трилинейной фильтрации — чипы NV3x позволяют использовать режим, в котором выборка
и фильтрация одновременно из двух MIP-уровней производится только для части поверхности, находящейся
наиболее "близко" к переходу между MIP-уровными. Для остальной поверхности выполняется выборка и
фильтрация только одного из MIP-уровней, это приводит к двукратному росту скорости фильтрации текстур
в этом месте.
High Performance — дальнейшее упрощение фильтрации. Степень анизотропной
фильтрации, применяемой в этом режиме, еще меньше, чем в режиме Performance,
а трилинейная фильтрация также упрощена.
Выводы из результатов синтетических тестов
Итак, подведем краткий итог по детальному исследованию различных блоков NV35 с помощью синтетических тестов.
Основным вкладом в изменение производительности NV35 безусловно является увеличение
пропускной способности памяти, и связанная с этим переработка и оптимизация
контроллера памяти и работающих непосредственно с ним блоков чипа, отвечающих
за сжатие буфера кадра, а также, возможно, блока раннего отсечения по z
(early z-cull) в связи с добавлением технологии UltraShadow. Возросшая пропускная
способность памяти незамедлительно сказалась на тестах, использующих антиалиасинг.
В тестах на скорость закраски (Fillrate) при больших разрешениях получаемый
прирост измеряется не в процентах, а в десятках процентов и чуть ли не в
разах.
Каких-либо существенных архитектурных отличий в блоке, отвечающем за
геометрическую обработку, не обнаружено.
Также оптимизированы пиксельные процессоры, теперь пиксельные шейдеры,
использующие операции с числами с плавающей точкой с 32-битной точностью
(128 бит на регистр) выполняются со скоростью, сравнимой с операциями 16
битной точности в NV30. Хотя, к сожалению, скорость выполнения пиксельных
шейдеров второй версии у Radeon 9800 Pro так и осталась недостигнутой.