на главную страницуна главную страницуна главную страницу

Новости | 3D-Видео, тюнеры и LCD | iT-Среда | MacLife | Мобильные устройства | Ноутбуки | Носители информации | Платформа ПК | Приложения и утилиты | Принтеры и периферия | ProAudio | Проекторы и ТВ | Сети и серверы | Цифровой звук | Цифровое видео | Цифровое фото | Карта сайта | Поиск


Открытая методика тестирования скорости рендеринга в пакете трехмерного моделирования 3ds max 5.1 SP1


Слова у нас до важного самого
В привычку входят, ветшают, как платье.
Хочу сиять заставить заново
Величественнейшее слово…
(В. Маяковский)

Нет, на партийные темы мы сегодня говорить не будем — немного не та специфика у сайта. Однако стремление «звучать заставить заново» применимо ко многим областям человеческой деятельности, и, как ни странно… даже к тестированию компьютерного железа. И действительно: читая стандартную тестовую статью, где в прокрустовом ложе универсальной методики Adobe Photoshop соседствует с архиваторами и программами для кодирования мультимедийной информации, а 3ds max — с трехмерными шутерами Quake или Serious Sam, подчас трудно понять: а что мы, в конце концов, должны вынести из ее содержимого? Что 20% перевес в Quake компенсируется низкой скоростью вращения изображения в Photoshop, и, учитывая среднюю скорость рендеринга некой сцены в 3ds max, «процессор получился, в среднем, неплохой»? Несколько странные «компенсации», не так ли? Интересует ли количество fps в Quake специалистов по допечатной подготовке? А скорость кодирования MP3 — дизайнеров-трехмерщиков? Как минимум, не всегда.

В связи с вышеизложенным, возникла общая концепция: разрабатывать большие, полноразмерные методики тестирования производительности для наиболее популярных областей применения или даже отдельных приложений. Пусть не часто они будут использоваться в полном объеме, но зато одна статья раз в полгода или год может обеспечить достаточно исчерпывающее освещение вопроса. Первые две наших открытых методики (кодирование видео и аудио) были именно «отраслевыми». А третья, представляемая на суд читателей сегодня, посвящена одной программе: 3ds max.

Для начала нами было разработано нечто вроде технического задания, которое описывало требования к сценам, после чего начался поиск дизайнера, который бы согласился воплотить его в жизнь. Пожалуй, логично будет озвучить это ТЗ в рамках данного материала.

Техзадание

Цель: самая простая — тестирование современных x86 CPU в 3ds max 5.x. Предмет тестирования — скорость финального рендеринга сцен. Планируемые к использованию рендеры: родной от 3ds max, Brazil, Final Render Stage-1.

Общие требования к сценам:

  1. Сцены должны использовать фирменные технологии соответствующих рендеров. С другой стороны, использование фирменных технологий и эффектов не должно превращаться в самоцель (см. п. 2).
  2. Сцены должны быть «приближены к действительности». Скользкая формулировка, но иначе не скажешь. Пойдем от противного: разбитый на миллион полигонов идеально ровный цилиндр длиной 2 километра, не является «приближенным к действительности» — никто из дизайнеров для реальных задач такое делать не станет. Хотя и его тоже можно искусственно сделать (через левое колено к правому уху) сложным и долго рендерящимся.
  3. Идеальным смотрится вариант из N сцен для каждого движка рендеринга, где в N-1 сценах используются разные эффекты (или разные наборы эффектов, логично связанных между собой), а в последней сцене все предыдущие интегрированы в единое целое. Оптимальное значение N — 5-6. Меньше — можно (если 5-6 излишне), больше не нужно, если это не является крайней необходимостью. Для разных наборов тестовых сцен, предназначенных для разных рендеров, N не обязательно должно быть одинаковым.
  4. В идеале, сцены должны быть и «визуально одинаковыми», но только если это не пойдет в ущерб исследованию интересных возможностей рендеров т.е. если не придется «резать вкусности по-живому» ради общности.
  5. Время рендеринга основных («сводных») сцен не должно быть чрезмерно малым: примерно 30-40 минут на Pentium 4 3.2 GHz. Промежуточные сцены с исследованием отдельных эффектов могут рендериться быстрее, но менее 5 минут все равно нежелательно.
  6. Сцены должны быть «лицензионно чистыми» т.к. они будут выкладываться для свободного скачивания всеми желающими в рамках статьи с описанием открытой методики тестирования.

За выполнение этого достаточно сложного задания взялся профессиональный дизайнер-трехмерщик Игорь (mazai) Емельяненко (спасибо еще раз, Игорь!), и после продлившейся около месяца неизбежной «утряски» и согласования спорных моментов, мы рады представить вам новую открытую методику iXBT.com для тестирования скорости финального рендеринга в пакете 3ds max 5.1 SP1. Сама методика, как нетрудно понять, состоит в замере времени рендеринга входящих в нее тестовых сцен, которые мы и рассмотрим более подробно.

Описания тестовых сцен

Однако для начала приведем своего рода «идеологическое обоснование» всего набора тестов. Мы ведь выдвигали жизненность подхода как одно из ключевых требований? Так вот, и его удалось соблюсти: у нашего тестового набора есть своего рода... сюжет!

Итак, обычно, когда нужно смастерить (или, наоборот, разобрать), что-то такое, чем не хочется пачкать домашний ковер, человек идет в гараж. Однако это только первая причина, почему полигоном для тестов явился именно он. Вторая — в том, что гараж — это не только приют для автомобиля, но и отличная свалка ненужных в быту безделушек. Так вот: у нас есть изрядно потрепанный гараж, а в нем — не менее изрядно потрепанное авто (в основном, для того чтобы при моделировании на нем можно было разместить максимальное количество эффектов :). На стенах — всякий хлам, и какое-то количество деталей, каждая из которых наиболее полно использует одну из «фишек» рендера. Но самое главное — это верстак. Именно на нем и проводятся отдельные тесты эффектов — с зажатием пациентов в тиски, разглядыванием в лупу, и пр. То есть на каждый эффект можно раскидать несколько разных объектов, которые, в свою очередь использовали бы один из них.

Сцены для Brazil r/s

1. Brazil_Caustic

Как легко понять по названию, смысл данной сцены состоит в тестировании скорости работы процессоров при рендеринге эффекта «Caustic» в исполнении системы рендеринга SplurtterFish Brazil на примере сувенирного монумента в виде стекла с запечатанной в него памятной надписью и деревянного стола, на котором, собственно, мы и можем наблюдать вышеуказанный эффект. Для стола мощность фотонов была повышена до 1,7 (Power=1,7), все остальные настройки оставлены по умолчанию.

2. Brazil_DOF

На этой сцене тестируется скорость рендеринга эффекта Depth Of Field (глубина резкости). Сцена довольно проста: на ней присутствуют три объекта, установленных на различном расстоянии от камеры, при этом центральный находится в фокусе. Все установки оставлены принятыми по умолчанию за исключением:

  • Initial Rate: 6
  • f-Stop: 8,0
  • Focal Dist: 70
  • Bokeh: Flat Disc

3. Brazil_GI

GI — Global Illumination (глобальное освещение). Фактически, в данном случае используется сцена Brazil_Final (см. ниже), с той только разницей, что из финальной сцены изъяты все текстуры, благодаря чему мы имеем возможность сосредоточиться на скорости просчета глобального освещения как такового. Все настройки оставлены такими, какими они приняты по умолчанию.

4. Brazil_Final

Финальная сцена представляет собой «реалистичный» вариант т.е. олицетворяет продукт, который может быть создан дизайнером в процессе работы над реальной задачей. В данной сцене отсутствуют «разные модные навороты», вроде каустики, задействованы только те эффекты, которые чаще всего используются 3D-дизайнерами: Global Illumination, Antialiasing, Raytrace, Volume Light, и так далее. Настройки:

  • Global Illumination
    • Shade Rate
      • Min: -4
      • Max: -4
    • Sampling Control
      • View Rate: 6
      • Sec Rate: 2
  • Antialiasing
    • Min Samples: 1
    • Max Samples: 2
  • Volume Light
    • Density: 1
    • Sample Volume: 60
  • Attenuation
    • End: 85
    • Res: 1024x768

5. Brazil_Preview

Подтест, олицетворяющий собой достаточно частую операцию: дизайнер снижает разрешение и установки качества, чтобы увеличить скорость рендеринга, и быстренько визуально оценить, что у него получилось. Быстродействие при выполнении такого чернового просмотра имеет не меньшее значение, чем при финальном рендеринге т.к. выполняется он зачастую несколько десятков раз (а финальный рендеринг, в идеале — всего один). За образец была взята сцена Brazil_Final, у которой были изменены следующие настройки:

  • Разрешение понижено до 800x600
  • Антиалиасинг отключен
  • В настройках Luma Server были изменены следующие параметры:
    • View Rate: 4
    • Sec Rate: 1
  • В настройках объемного света Sample Volume понижена до 20

Сцены для Final Render Stage-1

1. FR_Caustic

Сцена по смыслу полностью аналогична своему аналогу для рендера Brazil, только в данном случае используется Final Render. По отношению к настройкам по умолчанию, были изменены настройки источника света:

  • Multiplier: 2
  • Shadow: fr-Area Shadow
  • Final Render Photon
    • Energy: 20
    • Light Rays: 200000

2. FR_GI

Сцена знакомая — примерно то же мы видели в сцене для тестирования на скорость просчета глобального освещения с помощью Brazil. В данном случае использовался другой движок (Final Render / fr-image). Настройки GI остались такими, какими они приняты по умолчанию, изменялись только установки антиалиасинга:

  • Sampler: Adaptive
  • Min Samples: 1/4
  • Max Samples: 4
  • Filter: Catmull-rom

3. FR_Displace

При рендеринге этой сцены, мы оцениваем быстродействие тестового стенда при рендеринге эффекта «Micro Triangle Displacement». Основными предметами на сцене являются знакомый посетителям iXBT.com логотип, стоящий на подставке (и не сразу узнаваемый :) а также лежащий на верстаке обычный шар на тот случай если на примере логотипа эффект Displace будет не так хорошо виден. По отношению к установкам по умолчанию, были изменены следующие:

  • Subdivision level: 50
  • Edge Length: 3,0

4. FR_SSS

Еще одна «сцена одного эффекта», на этот раз мы ставим опыты по скорости расчета подповерхностного рассеивания света (Sub-Surface Scattering). Измененные параметры:

  • Depth: 5
  • Absorption: 15
  • Anisotropy: 10
  • Multiplier: 30

5. FR_Volume_Light

Обсчитывается объемный свет (fR-Volume Light). Все достаточно просто: источник объемного света, дырявая преграда оному… В общем, с дизайнерской точки зрения все ужасающе примитивно, но нас-то интересуют не изыски, а скорость просчета данного эффекта на различных процессорах. Установки (традиционно, перечислены только измененные по отношению к default):

  • Density: 2,0
  • Shadows
    • Raytracing smp: 20
  • Attenuation Color: on
  • Samples: 10

6. FR_Volume_Caustic

На примере этой сцены оценивается скорость рендеринга каустики объемной (поверхностная также активирована). Для оценки этого эффекта параллелепипед подходит менее всего, намного зрелищнее будет смотреться шар или лупа. В результате у дизайнера родилась некая «шарообразная лупа». Установки:

  • Объемный свет:
    • Step Size: 5
    • Accuracy: 60
    • Multiplier: 5
  • Источник света:
    • Multiplier: 2
    • Light Rays: 20000

7. FR_Final

Концепция полностью аналогична Brazil_Final, с той только разницей что используется другой рендер. Установки:

  • GI — без изменений
  • Объемный свет:
    • Shadows
      • Raytracing smp: 60
    • Attenuation Color: on
    • Samples: 10
    • Density: 1
  • Используются 4 источника света

8. FR_Preview

Опять-таки «черновая» версия финальной сцены. В сторону уменьшения качества рендеринга были изменены следующие установки:

  • Отключен антиалиасинг
  • Разрешение понижено до 800x600
  • Настройки GI:
    • Bounces: 1
    • Size Ratio: 1/8
    • Balance: 50%

Сцены для Scanline (встроенный рендер 3ds max 5)

1. Scanline_Volume_Light

Сцена, аналогичная по смыслу FR_Volume_Light, только рендерится под управлением встроенного рендера 3ds max. Установки:

  • Volume:
    • Density: 1
    • Sample Volume: 60
    • Attenuation Color: on
  • Attenuation:
    • End: 85

2. Scanline_Light_Tracer

Тестируем простенькое освещение, обеспечиваемое встроенным рендером 3ds max. Установки — Ray/Sample: 300.

3. Scanline_Radiosity

Более продвинутый вариант Global Illumination, поддерживаемый рендером 3ds max. Здесь следует сделать одно примечание, относящееся больше не к смыслу сцены (он понятен по названию), а к методологии измерения. Дело в том, что карта освещения перед рендерингом при использовании рендера Scanline уже должна быть наложена, и как раз ее наложение и занимает большую часть времени. Поэтому данный тест является единственным, требующим измерений с секундомером в руках. Итак:

…сначала мы выбираем соответствующий пункт в меню…

…потом нажимаем «Start» и засекаем время исполнения…

…получаем просчитанную с заданными параметрами карту освещения…

…и уже после этого жмем на F9 для получения финального результата.

Соответственно, в качестве времени выполнения теста, мы указываем суммарное время выполнения команды Advanced Lighting --> Radiosity, и собственно рендеринга. Установки:

  • Process
    • Refine Iterations All Object: 3
  • Global Subdivision Settings
    • Mesh Size: 15

4. Scanline_Final

Аналогичная двум предыдущим финальная сцена, в которой присутствует (сохраняя лексику дизайнера) «пародия на GI от Scanline в лице Light Tracer» и несколько материалов с эффектом Raytrace. Плюс антиалиасинг в исполнении все того же рендера Scanline. Параметры:

  • GI: Light Tracer:
    • Ray/Sample: 300
    • Antialiasing: Catmull-rom
  • Объемный свет:
    • Volume Density: 1
    • Sample Volume: 60
    • Attenuation Color: on
  • Attenuation:
    • End: 85

5. Scanline_Preview

Стандартный «превьюшный» алгоритм упрощения (ускорения) рендеринга с небольшими вариациями на тему:

  • Отключено глобальное освещение
  • Параметр Sample Volume снижен с 60 до 2
  • Отключен антиалиасинг
  • Разрешение понижено до 800x600

Антиалиасинг

Параметры антиалиасинга на всех сценах для Brazil кроме Preview:

  • Min Samples: 1
  • Max Samples: 2
  • Filter: Mitchell-Netravali

Параметры антиалиасинга на всех сценах для Final Render кроме Preview:

  • Sampler: Adaptive
  • Min Samples: 1/4
  • Max Samples: 4
  • Filter: Catmull-rom

Параметры антиалиасинга на всех сценах для Scanline кроме Preview:

  • Filter: Сatmull-rom

Подводя итоги

Описанная выше методика, по задумке авторов (имея в виду и коллектив процессорного раздела iXBT.com, выступивший в роли составителя технического задания, и 3D-дизайнера Игоря (mazai) Емельяненко в качестве исполнителя), призвана обеспечить возможность более полно, чем ранее, исследовать производительность современных компьютерных систем на базе процессоров архитектуры x86, при финальном рендеринге сцен в одном из самых распространенных пакетов для трехмерного моделирования — 3ds max.

В отличие от большинства других методик, где финальный рендеринг в 3ds max чаще рассматривается, как лишь один из подтестов методики общего назначения, в данном случае мы тестируем не одну «образцовую» сцену для одного рендера, в которой применено ограниченное количество эффектов, а набор из в общей сумме 18 сцен и трех самых распространенных рендеров для 3ds max — одного встроенного и двух внешних.

Таким образом, несмотря на трудоемкость и относительно большое время, необходимое для проведения полномасштабных тестов, данная методика позволяет все же более глубоко, чем обычно, изучить вопрос о быстродействии различных компьютерных систем применительно к программе 3ds max. С другой стороны, наличие сцен <...>_Final, представляющих собой достаточно близкие к жизненным реалиям работы, дает возможность логичным образом сократить методику до всего трех тестов, и, соответственно, сделать ее частью универсальной методики.

Примечания, дополнения, файлы, и материалы
сделанные на базе методики:

  1. Тестовые сцены для 3ds max
  2. Текстуры для тестовых сцен
  3. Тестирование: топовые x86-процессоры всех архитектур, Часть 1.
Станислав Гарматюк (nawhi@ixbt.com)

Опубликовано — 26 февраля 2004 г.
 
Комментарии? Поправки? Дополнения? nawhi@ixbt.com



Новости | 3D-Видео, тюнеры и LCD | iT-Среда | MacLife | Мобильные устройства | Ноутбуки | Носители информации | Платформа ПК | Приложения и утилиты | Принтеры и периферия | ProAudio | Проекторы и ТВ | Сети и серверы | Цифровой звук | Цифровое видео | Цифровое фото | Карта сайта | Поиск

Copyright © by iXBT.com, 1997—2012. Produced by iXBT.com