Этa стaтья являeтся пятoй в циклe, пoсвящeннoм рaзличным рeaльным прилoжeниям, кoтoрыe мoгут испoльзoвaться для тeстирoвaния прoцeссoрoв, кoмпьютeрoв, нoутбукoв и рaбoчиx стaнций и кoтoрыe в дaльнeйшeм будут пoлoжeны в oснoву oбнoвлeннoй вeрсии нaшeгo тeстoвoгo пакета iXBT Application Benchmark 2018. Напомним, что в первой части данного цикла мы рассматривали приложение Adobe Photoshop СС 2018. Во второй статье мы уделили внимание приложениям Adobe Photoshop Lightroom Classic CC 2018 и Phase One Capture One Pro v10. В третьей части были рассмотрены программы создания и редактирования видеоконтента: Adobe Premiere Pro СС 2018, Magix Vegas Pro 15, Magix Movie Edit Pro 2017 Premium, Adobe After Effects CC 2018 и Photodex ProShow Producer 9. В четвертой части были рассмотрены видеоконвертеры MediaCoder x64 0.8.52.5920, HandBrake 1.0.7 и VidCoder 2.63.
В этой статье мы рассмотрим три программы, которые используются для рендеринга трехмерных сцен: POV-Ray 3.7, LuxRender 1.6 и Вlender 2.79. Кроме того, напомним, что программу Adobe Photoshop СС 2018 мы также используем для рендеринга трехмерного текста, так что всего в нашем тестовом пакете четыре теста с использованием рендеринга изображений.
Программы POV-Ray, LuxRender и Вlender мы использовали и в предыдущей версии нашего тестового пакета. Эти бесплатные рендеры обновляются довольно редко, в нашем случае изменилась лишь версия рендера Вlender, но изменилась не принципиально. И с данным набором тестов все очень просто: мы не стали менять ни приложения, ни тестовые задачи, поскольку не видим в этом никакого смысла. То есть здесь все абсолютно то же самое, что и в предыдущей версии нашего тестового пакета.
POV-Ray 3.7
POV-Ray — это бесплатная программа с доступным исходным кодом, которая позволяет создавать трехмерные, фотореалистичные изображения с использованием техники рендеринга, называемой трассировкой лучей.
Программа читает текстовые файлы, в которых хранится информация, описывающая объект и освещение сцены, и генерирует сцену из определенной точки расположения камеры (которая также описана в файле).
Имеются скомпилированные под Windows версии программы.
В программе POV-Ray 3.7 имеется встроенный бенчмарк (POV-Ray benchmark 2.01), который может запускаться как из меню главного окна программы (Render→Run Benchmark (All CPU«s)), так и из командной строки. При тестировании мы запускаем бенчмарк в режиме командной строки, поскольку это просто удобнее. Синтаксис команды следующий:
POV-Rayv3.7inpvengine64.exe /BENCHMARK
Вообще, скорость работы рендеров часто измеряется в PPS (Pixel Per Second), то есть в количестве отрендеренных пикселей за секунду. Но в нашем случае измеряется именно время рендеринга всей сцены.
LuxRender 1.6×64 OpenCL
LuxRender относится к категории фотореалистичных или физически точных (без допущений) рендеров. Это бесплатная программа с удобным пользовательским интерфейсом. Сцены для LuxRender могут быть подготовлены в различных 3D-программах, таких как Blender, 3DS Max, Maya и пр.
Имеются версии LuxRender под Windows, macOS и операционные системы на базе ядра Linux. При тестировании мы используем 64-битную Windows-версию программы с поддержкой технологии OpenCL (LuxRender 1.6×64 OpenCL).
На сайте разработчика можно скачать сцену (luxtime.lxs), которую рекомендуется использовать для тестирования.
Поскольку LuxRender является фотореалистичным рендером, процесс рендеринга в нем может длиться бесконечно долго. Точнее, он длится до тех пор, пока пользователь не остановит процесс при достижении удовлетворительного качества. Пользовательский интерфейс программы LuxRender позволяет задать условия, при достижении которых рендеринг будет остановлен. Это могут быть временны́е ограничения, когда задается время рендеринга, либо ограничения по качеству, которое задается в S/p (Samples per pixel). Хорошее качество достигается при значении 100 S/p, однако такое качество требует очень продолжительного времени рендеринга. Поэтому при тестировании мы ограничиваем качество на уровне 30 S/p, измеряя время рендеринга, которое требуется для достижения такого качества.
Вlender 2.79
В отличие от LuxRender и POV-Ray, Blender — это уже полноценный редактор трехмерной графики и анимации. Приложение бесплатное и включает в себя средства моделирования, анимации, постобработки и монтажа видео со звуком и, что самое главное, средства рендеринга.
На сайте производителя есть версии этого программного пакета под macOS, Linux и Windows. Для тестирования мы используем 64-битную Windows-версию Вlender 2.79.
Кроме того, на сайте производителя есть примеры сцен, которые можно использовать для тестирования. Мы используем сцену BMW Benchmark (файл BMW27.blend.zip).
Запуск процесса рендеринга возможен как из интерфейсного окна самой программы (клавиша F12), так и из командной строки. Для тестирования режим запуска из командной строки более удобен. Команда запуска процесса рендеринга имеет огромное количество параметров, ознакомиться с которыми можно, набрав команду blender.exe -h.
Для тестирования мы используем следующую команду:
blender.exe -b -f 1
В данном случае подразумевается, что процесс рендеринга происходит в фоновом режиме (параметр -b) и рендерится только один кадр (параметр -f 1).
Зависимость результатов от числа ядер процессора и технологии Hyper-Threading
Для того чтобы проанализировать зависимость результатов тестирования от количества ядер процессора и технологии Hyper-Threading, мы использовали стенд следующей конфигурации:
- процессор: Intel Core i7–8700K;
- видеокарта: процессорное графическое ядро (Intel UHD Graphics 630);
- память: 16 ГБ DDR4–2400 (двухканальный режим работы);
- материнская плата: Asus Maximus X Hero (Intel Z370);
- накопитель: SSD Seagate ST480FN0021 (480 ГБ, SATA);
- операционная система: Windows 10 (64-битная).
Количество доступных ядер процессора (от одного до шести) регулировалось в настройках UEFI BIOS. Один раз тестирование проводилось при использовании технологии Hyper-Threading, а второй раз — при отключении данной технологии в UEFI BIOS.
Результаты тестирования при использовании технологии Hyper-Threading приведены далее.
Как видно по результатам тестирования, результат (время выполнения теста) обратно пропорционально числу ядер процессора для всех приложений. Это классический вариант зависимости времени выполнения теста от количества ядер процессора в случае, когда тестовая задача хорошо распараллеливается на все ядра процессора и грузит при этом каждое ядро на 100%.
Аналогичная зависимость времени выполнения теста от числа ядер процессора получается и в случае, когда технология Hyper-Threading не используется.
Можно также сопоставить для каждого теста в отдельности результаты тестирования при использовании технологии Hyper-Threading с результатами без этой технологи.
Для теста на основе приложения POV-Ray 3.7 использование технологии Hyper-Threading позволяет сократить время рендеринга примерно на 12% при числе ядер процессора от трех до шести. В случае двух ядер процессора использование технологии Hyper-Threading улучшает результат на 14%, а при одном ядре — на 19%.
Для теста на основе приложения LuxRender 1.6 использование технологии Hyper-Threading сокращает время рендеринга примерно на 27% при числе ядер от двух до шести, а при одном ядре сокращение времени рендеринга составляет 32%.
В приложении Blender 2.79 при одном ядре процессора сокращение времени рендеринга при использовании технологии Hyper-Threading составляет 35%, и это сокращение уменьшается до 24% при шести ядрах процессора.
Заключение
В этой статье мы подробно рассмотрели тесты на основе приложений POV-Ray 3.7, LuxRender 1.6 и Вlender 2.79, которые в дальнейшем будут использоваться нами в нашем тестовом пакете iXBT Application Benchmark 2018. В следующей статье нашего цикла, посвященного разработке нового пакета тестов на основе реальных приложений, мы рассмотрим архиваторы WinRAR 5.50 и 7-Zip 18.0, а также приложение Abbyy FineReader 12.0.