Pentium 4 3.06 с технологией Hyper-Threading в 3ds max 5

Автор: AAA
Дата: 18.11.2002
Все фото статьи

Введение


Так как мы знаем, что технология HyperThreading эмулирует двухпроцессорную платформу на одном процессоре, то давайте вспомним, какие плюсы имеет двухпроцессорная платформа в 3ds max. Как мы помним, финальный рендерер 3ds max исключительно оптимизирован под двухпроцессорную платформу, в результате чего прирост производительности в 80% является нормой. Также двухпроцессорная платформа имеет большой плюс при обработке массивной геометрии в окнах проекции за счет собственно двух процессоров вместо одного – как мы знаем, расчет геометрии в 3ds max производится исключительно силами CPU и GPU видеокарты не имеет к нему никакого отношения (в отличие от игр). Однако, у двухпроцессорной платформы есть и минус, и он очень существенен – при отображении сцены с умеренной геометрией в окнах проекции двухпроцессорные платформы показывают существенно меньший fps, нежели однопроцессорные. Этот факт связан по моему мнению с тем, что два потока, которые создают два процессора, вносят необходимые задержки на переключения между ними, и таким образом при обработке небольшой геометрии эти задержки съедают выигрыш от быстрой обработки двумя процессорами.
Теперь, определившись с плюсами и минусами двухпроцессорных платформ, давайте перейдем непосредственно к тестированию и посмотрим, как вышеизложенная теория будет соотноситься с практикой.

Как я тестировал


Так как основную работу в 3ds max можно разделить на две части – создание сцены в окнах проекции и финальный рендеринг, то и эта статья также логически разделена на две части – тестирование в окнах проекции и тестирование скорости финального рендеринга.
Для тестирования я воспользовался уже известными Вам бенчмарками, рекомендованными компанией-производителем 3ds max5. При тестировании в окнах проекции использовалось разрешение 1280х1024 32bit, результат указан в fps. При тестировании платформ в финальном рендеринге использовалось разрешение 800х600, результат тестирования указан в минутах (чем меньше - тем лучше).

Аппаратная конфигурация №1:

Процессор – Pentium 4 3.06GHz HyperThreading Enabled
Материнская плата – Asus P4PE
Память – 1024Mb PC333 DDR SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm

Аппаратная конфигурация №2:

Процессор – Pentium 4 3.06GHz HyperThreading Disabled
Материнская плата – Asus P4PE
Память – 1024Mb PC333 DDR SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm

Программное обеспечение:

Windows XP SP1
3ds max 5 (OpenGL rendering), 1280x1024 32bit
Драйвер для GeForce4 Ti 4600 версии 30.82, V-Sync off

Тестирование в окнах проекции


Бенчмарк №1:

Этот бенчмарк проверяет возможность платформ обновлять одновременно больше одного окна 3ds max. Во всех окнах проекции проигрывается анимация, и для большей нагрузки включены различные режимы отображения окон проекции – от Wireframe до Smooth+Highlights.

Полигонов: 40088
Источников света: 2
Режимы отображения окон проекции: Wireframe, Smooth+Highlights, Smooth+Highlights+Edged Faces

Результаты тестирования:
Так как бенчмарк 3dsmax весьма точен, то мы можем констатировать небольшое (примерно 2.5%) увеличение производительности при использовании HyperThreading при проигрывании анимации в окнах проекции.

Бенчмарк №2:

Здесь платформы отображают анимацию в одном окне, во время которой камера пролетает среди скал и холмов лунного пейзажа, состоящего из четырехсот тысяч полигонов, отображаемых в режиме Smooth+HighLight.

Полигонов: 400008
Источников света: 1
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
Аналогично предыдущему бенчмарку небольшое увеличение производительности.

Бенчмарк №3:

Этот бенчмарк – по сути усложненный лунный пейзаж из прошлого бенчмарка. Теперь, помимо непосредственно самого пейзажа, к сцене добавлены модели неких летательных аппаратов.

Полигонов: 742128
Источников света: 1
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
В этом тесте системы показали одинаковый результат, скорее всего по причине необходимости визуализировать силами GPU такое количество полигонов. Хочу особенно обратить внимание, что этот бенчмарк тестирует способность отображать массивную геометрию в окнах проекции в режиме Smooth+Highlight, таким образом задействуя GPU видеокарты, в отличие от такой же сцены но в режиме Wireframe в бенчмарке 13.

Бенчмарк №4:

Бенчмарк, тестирующий скорость обработки множественных источников света. Так как большинство видеокарт не поддерживает более 8 источников, то этот тест и еще два последующих содержат 8 источников света разных типов. В этом тесте 8 источников света типа SpotLight, перемещаясь, освещают геометрический объект:
Следует заметить, что отображение освещенности, созданной источниками типа Spotlight – намного более ресурсоемкий процесс, нежели отображение освещенности, созданной источниками света типа Omni и Directional.

Полигонов: 60500
Источников света: 8
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
Вот и первый тест, где система с HyperThreading показывает меньший результат. Причиной этому служит как раз описанный во введении недостаток в реализации AGP OpenGL драйверов.

Бенчмарк №5:

Тот же объект, только теперь он освещается восемью источниками света типа Directional. Источники света типа Directional в 3ds max 5 самые быстрые, в отличие от 3ds max предыдущей версии.

Полигонов: 60500
Источников света: 8
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
С другими источниками света ситуация повторяется.

Бенчмарк №6:

Опять тот же самый объект и опять восемь источников света. Теперь это источники типа Omni, по ресурсоемкости «средние» между Spot и Directional.

Полигонов: 60500
Источников света: 8
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
И в последнем тесте освещения система с HyperThreading показывает меньший результат. По итогам бенчмарков освещения можно делать вывод, что HyperThreading дает примерно 5% падение производительности.

Бенчмарк №7:

Сцена с “легкой” геометрией и парой источников света, занимающая все окно проекции - это хороший бенчмарк скорости растеризации в режиме Smoth+Highlights.

Полигонов: 40088
Источников света: 2
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
В бенчмарке растеризации обе системы показывают равный результат, что связано скорее всего с тем, что здесь одинаково требуются и геометрические расчеты, и расчеты GPU по визуализации.

Бенчмарк №8:

Бенчмарк, показывающий скорость работы платформ с большим количеством текстур. Файл содержит множество текстур и минимум геометрии.

Полигонов: 224
Источников света: 2
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:

Бенчмарк №9:

Этот бенчмарк эмулирует работу над уровнем игры, так как содержит в достаточной мере и геометрию и текстуры. Анимация построена таким образом, чтобы наиболее полно отобразить всю сцену.

Полигонов: 12548
Источников света: 5
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:

Бенчмарк №10:

В этом тесте платформы показывают свои способности отображать текстуры на деформирующейся геометрии.

Полигонов: 5048
Источников света: 1
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:

По результатам тестирования в текстурных бенчмарках видно, что польза от HyperThreading скорее отрицательная, нежели положительная.

Бенчмарк №11:

Этот бенчмарк показывает возможности платформ по обработке прозрачных поверхностей.
В 3ds max 5 помимо прозрачности, лишь имитируемой дизерингом, хорошо знакомым пользователям предыдущих версий:
Добавлена еще и настоящая прозрачность, реализуемая смешением цветов пикселей перекрываемых объектов:
Режимы прозрачности переключаются через настроечную панель окна проекции:

Несложно догадаться, что более правильно реализованная прозрачность будет более медленной.

Полигонов: 39940
Источников света: 2
Режим отображения окон проекции: Smooth+Highlights

Результаты тестирования:
Аналогичное положение по отношению к прошлым тестам с одинаковой нагрузкой на CPU и GPU – в случае более-менее сбалансированной сцены с умеренной геометрией (до 100000 полигонов) и не слишком большим количеством источников света плюсы от применения HyperThreading уравновешиваются минусами.

Бенчмарк №12:

В этом бенчмарке камера пролетает среди скал и холмов лунного пейзажа, состоящего из четырехсот тысяч полигонов, знакомого нам по бенчмарку №2, однако окно проекции отображается в каркасном режиме Wireframe.

Полигонов: 400008
Источников света: 1
Режим отображения окон проекции: Wireframe

Результаты тестирования:
В тестах же с большой геометрией HyperThreading дает свои выгоды, особенно в режимах Wireframe, где нагрузка на видеокарты намного меньше, чем в режимах Smooth, и на первый план выходит способность процессора обсчитывать геометрию.

Бенчмарк №13:

Сцена из бенчмарка №3, в режиме Wireframe.

Полигонов: 742128
Источников света: 1
Режим отображения окон проекции: Wireframe

Результаты тестирования:
Больше геометрия – больше выигрыш от применения HyperThreading.

Итак, по итогам тестирования в окнах проекции видно, что в случае обработки массивной геометрии, да еще и в каркасных режимах польза от HyperThreading есть, но небольшая – в пределах 5, в особенных случаях с очень массивной геометрией (бенчмарк 13) до 10%.
В то же время в случае обработки сцен с небольшой геометрией, но насыщенных источниками света и текстурами, ситуация обратная – система с HyperThreading проигрывает те же самые 5-10%. В общем же обе платформы в окнах проекции показали примерно равный результат.

Тестирование в финальном рендеринге


Бенчмарк №1:

Этот бенчмарк построен на базе всем известной сцены ktx_rays, из еще самой первой версии 3dsmax, когда программа называлась 3D Studio MAX, а компания-разрабочик еще не входила в Autodesk и называлась Kinetix.
Теперь файл называется 3smax5_rays, что, впрочем, не меняет смысла содержимого. В отличие от самого первого варианта этой сцены, в этом бенчмарке к демонстрации объемного света добавлена еще и отражающая поверхность снизу:

Полигонов: 4160
Источников света: 3, из них Shadow Mapped: 1, Raytraced: 0.

Результаты тестирования:

Бенчмарк №2:

Этот файл встречался и в предыдущих версиях 3ds max, правда тогда он не находился в каталоге бенчмаков. Этот бенчмарк содержит два источника света, один Raytraced, другой ShadowMapped, которые освещают геометрию в 50 тысяч полигонов:

Полигонов: 53528
Источников света: 2, из них Shadow Mapped: 1, Raytraced: 1

Результаты тестирования:

Бенчмарк №3:

Этот бенчмарк содержит сцену из жизни подводного мира, включает в себя карты отражения и рендерится в пять проходов.

Полигонов: 41716
Источников света: 5, из них Shadow Mapped: 2, Raytraced: 0

Результаты тестирования:
Как видно по итогам тестирования в финальном рендеринге, платформа с включенным HyperThreading показывает результат, стабильно больший на 15-20%.

Тестирование в многозадачном режиме


Бенчмарк №1:

Я открывал два 3ds max5 и в одном запускал рендеринг файла VolumeLight из бенчмарка5 прошлого раздела. В другом запускал первый бенчмарк из раздела «тестирование в окнах проекции». Таким образом, на фоне финального рендеринга проигрывалась анимация. Смотрите на результат:
Как видно, система с включенным HyperThreading показывает огромный прирост производительности – до 5 раз.

Бенчмарк №2:

В этом бенчмарке я запускал два процесса – архивирование с максимальным сжатием WinRar и рендеринг файла из бенчмарка2 предыдущего раздела.
Снова превосходный результат – прирост скорости примерно 25%!

Субъективные ощущения от работы в многозадачном режиме


Как известно, в случае работы на одном процессоре (без технологии HT) с двумя или более чем одной задачей в среде Windows, приоритет имеет активная задача, однако не во всех случаях, иногда приоритет имеет наиболее ресурсоемкая задача. В случае работы на двухпроцессорной системе с двумя задачами эти задачи распараллеливаются между процессорами. То же самое я наблюдал при работе с процессором с технологией HyperThreading – вне зависимости от того, какое окно в данный момент активное, обе задачи выполняются параллельно, что приводит к огромному росту производительности при запуске фоновой ресурсоемкой задачи и “рабочей” менее ресурсоемкой задачи (первый бенчмарк из прошлого раздела). Конечно, производительность настоящей двухпроцессорной системы недостижима, однако по сравнению с однопроцессорной системой без технологии HyperThreading прирост очень велик.

Выводы


Компании Intel удалось перейти от простого наращивания тактовых частот к добавлению оптимизирующих алгоритмов, что, несомненно, позволит с бОльшим успехом наращивать производительность повышением тактовой частоты. В 3ds max же технология HyperThreading показала себя исключительно полезной, позволяя получать 10-20% прироста при однозадачном финальном рендеринге и многократный прирост при многозадачной работе в окнах проекции.