Рендерит сцены Corona на видеокарте без переделки. При одинаковом шуме Crystal на RTX 4080 был быстрее Corona на 24-ядерном i9 в 14 раз на 3D-модели, в 13 раз в сцене с лесом Forest Pack, в 1,6 раза в интерьере. На экстерьере жилого квартала они примерно наравне: от ×0,76 до ×1,3 в зависимости от уровня шума.
Crystal · 60 с · RTX 4080Итог
Во сколько раз Crystal быстрее Corona, логарифмическая шкала. Сравнение при самом низком шуме, которого в замерах достигли оба рендерера.
| сцена | шум | Corona | Crystal | быстрее |
|---|---|---|---|---|
| Экстерьер | 0,39 % | 170,3 с | 171,9 с | ×0,99 |
| Интерьер | 2,18 % | 168,2 с | 106,7 с | ×1,6 |
| 3D-модель | 0,14 % | 164,7 с | 11,4 с | ×14 |
| Растительность | 0,62 % | 170,3 с | 12,8 с | ×13 |
Без денойзера, полное время вызова рендера. Повторный рендер Crystal берёт сцену из памяти; первый рендер после открытия сцены указан у каждой сцены отдельно.
Как мерили
Сцена 1 из 4 · GKTest.max · 1200 × 800 px
Жилой квартал под вечерним небом: CoronaSun и HDRI, 208 источников Corona, 387 декалей, трава и кусты из Chaos Scatter (201 337 и 973 копии), 662 дерева Forest Pack, 1864 объекта.
Corona · 73 сCrystal · 72 с Corona 12.1, CPU Crystal, GPU равный шум
| шум | Corona | Crystal | быстрее |
|---|---|---|---|
| 1,92 % | 18,6 с | 24,4 с | ×0,76 |
| 1,64 % | 22,6 с | 26,3 с | ×0,86 |
| 1,14 % | 32,2 с | 31,4 с | ×1 |
| 1,10 % | 33,9 с | 32,0 с | ×1,1 |
| 0,80 % | 52,1 с | 44,3 с | ×1,2 |
| 0,69 % | 66,3 с | 52,0 с | ×1,3 |
| 0,56 % | 92,1 с | 72,4 с | ×1,3 |
| 0,48 % | 119,5 с | 91,9 с | ×1,3 |
| 0,39 % | 170,3 с | 171,9 с | ×0,99 |
| 0,39 % | 172,0 с | ≈ 175,0 с | ×0,98 |
Без денойзера. Время одного рендерера — замер, другого — по его кривой между двумя замерами. «≈» — оценка за пределами кривой, по продолжению её последнего отрезка.
По среднеквадратичному шуму, где отдельные яркие точки весят больше, Corona тратит на тот же шум ×0,64–×1 времени Crystal.
Первый рендер после открытия сцены с бюджетом 5 с: Corona — 29,3 с, Crystal — 28,4 с (загрузка ядер, сцены и текстур на GPU). Повторные рендеры Crystal берут сцену из памяти.
Окна квартала — комнаты wParallax за стеклом. Их самосвечение подключено через Map Output Selector с индексом 0 над CoronaMultiMap, и Corona оставляет такие окна тёмными; Crystal теперь делает так же (до исправления он зажигал 1730 окон и был здесь на 10–15 % медленнее). Отдельный замер с выключенным GI cache: 20 с — шум 1,16 % (с кэшем 1,10 %), 80 с — 0,50 % (0,48 %), 160 с — 0,41 % (0,39 %): кэш выгоднее на всём диапазоне, его стоит оставить включённым.
Corona · 20 с
Crystal · 20 сСцена 2 из 4 · InteriorTest.max · 900 × 1200 px
Кухня с дневным светом из окна: CoronaSun, 7 источников Corona, 1587 объектов, текстуры на дереве, плитке и тканях, стекло и растения.
Corona · 70 сCrystal · 63 с Corona 12.1, CPU Crystal, GPU равный шум
| шум | Corona | Crystal | быстрее |
|---|---|---|---|
| 9,16 % | 14,8 с | 7,1 с | ×2,1 |
| 8,04 % | 18,2 с | 8,7 с | ×2,1 |
| 6,74 % | 23,4 с | 11,4 с | ×2,1 |
| 5,92 % | 28,2 с | 14,8 с | ×1,9 |
| 4,93 % | 38,6 с | 21,3 с | ×1,8 |
| 4,33 % | 48,2 с | 27,6 с | ×1,8 |
| 3,53 % | 70,2 с | 41,3 с | ×1,7 |
| 3,12 % | 88,2 с | 52,7 с | ×1,7 |
| 2,50 % | 131,4 с | 81,4 с | ×1,6 |
| 2,18 % | 168,2 с | 106,7 с | ×1,6 |
| 1,77 % | ≈ 245,1 с | 161,3 с | ×1,5 |
Без денойзера. Время одного рендерера — замер, другого — по его кривой между двумя замерами. «≈» — оценка за пределами кривой, по продолжению её последнего отрезка.
По среднеквадратичному шуму, где отдельные яркие точки весят больше, Corona тратит на тот же шум ×1,5–×2,2 времени Crystal.
Первый рендер после открытия сцены с бюджетом 5 с: Corona — 15,1 с, Crystal — 49,5 с (загрузка ядер, сцены и текстур на GPU). Повторные рендеры Crystal берут сцену из памяти.
Corona · 20 с
Crystal · 20 сСцена 3 из 4 · car_copy.max · 1000 × 1000 px
Три автомобиля под HDRI: лакокраска, хром, стекло фар, шины; 19 материалов CoronaLegacyMtl и 21 текстура.
Corona · 66 сCrystal · 67 с Corona 12.1, CPU Crystal, GPU равный шум
| шум | Corona | Crystal | быстрее |
|---|---|---|---|
| 0,18 % | 103,2 с | 10,4 с | ×10 |
| 0,14 % | 164,7 с | 11,4 с | ×14 |
| 0,10 % | ≈ 357,7 с | 13,4 с | ×27 |
Без денойзера. Время одного рендерера — замер, другого — по его кривой между двумя замерами. «≈» — оценка за пределами кривой, по продолжению её последнего отрезка.
По среднеквадратичному шуму, где отдельные яркие точки весят больше, Corona тратит на тот же шум ×5,2–×12 времени Crystal.
Первый рендер после открытия сцены с бюджетом 5 с: Corona — 9,5 с, Crystal — 16,9 с (загрузка ядер, сцены и текстур на GPU). Повторные рендеры Crystal берут сцену из памяти.
Corona · 20 с
Crystal · 20 сСцена 4 из 4 · ForestPack_Test.max · 1200 × 800 px
46 клёнов Forest Pack Pro на плоскости под HDRI: густая листва с просвечивающими листьями, свет сквозь кроны. Камера поставлена низко, через стволы.
Corona · 73 сCrystal · 66 с Corona 12.1, CPU Crystal, GPU равный шум
| шум | Corona | Crystal | быстрее |
|---|---|---|---|
| 0,74 % | 118,3 с | 10,7 с | ×11 |
| 0,62 % | 170,3 с | 12,8 с | ×13 |
| 0,50 % | ≈ 261,4 с | 15,9 с | ×16 |
Без денойзера. Время одного рендерера — замер, другого — по его кривой между двумя замерами. «≈» — оценка за пределами кривой, по продолжению её последнего отрезка.
По среднеквадратичному шуму, где отдельные яркие точки весят больше, Corona тратит на тот же шум ×12–×14 времени Crystal.
Первый рендер после открытия сцены с бюджетом 5 с: Corona — 15,6 с, Crystal — 15,1 с (загрузка ядер, сцены и текстур на GPU). Повторные рендеры Crystal берут сцену из памяти.
Corona · 20 с
Crystal · 20 сЧто умеет Crystal
CoronaPhysicalMtl, Legacy, Layered, Light, Select, Volume, а также Physical, PBR, glTF, Multi/Sub, Blend. Около восьмидесяти настроек материалов сверены с Corona рендером шара в обоих движках. Карты, которым нет пары в Cycles, 3ds Max запекает сам.
CoronaLight, CoronaSun и CoronaSky с куполом, HDRI в CoronaBitmap, порталы в окнах. Light tree рассчитан на сцены с тысячами источников.
Экспозиция, ACES OT, Filmic, контраст, насыщенность, баланс белого, Tint, LUT (.cube), виньетка и резкость. Значения те же, что в Corona.
Forest Pack Pro, RailClone, Chaos Scatter (Crystal расставляет копии сам по настройкам рассадки), CDecal, Corona Proxy.
Финальный и интерактивный рендер в одном окне: LightMix, пассы, уровень шума, Region, сравнение A|B, цвет пикселя по правой кнопке, сохранение в PNG и EXR.
Интерактивный рендер во вьюпорте и в окне Crystal: движения камеры и правки сцены видны сразу, а DLSS Ray Reconstruction позволяет считать превью в уменьшенном размере.
Фотонная каустика и дисперсия в стекле и воде, через собственный патч Cycles: блики от бокалов и бассейнов собираются чисто, без россыпи ярких точек.
Лимит шума, лимит времени, автосохранение каждого рендера. Остановка в любой момент даёт денойзенную картинку, а не обрывок.
Куда движется
Первый рендер после открытия тяжёлой сцены сейчас дольше, чем у Corona (интерьер: 50 с против 15 с): текстуры и геометрия загружаются на видеокарту. Повторные рендеры берут сцену из памяти.
Кэш текстур с уровнями детализации и сохранение сцены между рендерами уже работают; дальше — фоновая загрузка при открытии сцены.
Сборки под 3ds Max 2023, 2025, 2026 и 2027.
SDK этих версий уже подготовлены в проекте; плагин собирается под SDK одной версии.
Рендер на Radeon через HIP и на Arc через oneAPI.
Сам Cycles умеет оба бэкенда; Crystal сейчас собран с CUDA и OptiX.
Один кадр на двух и более GPU в одной машине.
Cycles делит рендер между устройствами; нужна настройка выбора устройств.
Backburner и Deadline для анимаций и пачек ракурсов.
Batch Render 3ds Max работает уже сейчас; лимиты шума и времени, автосохранение готовы.
CoronaHairMtl, CoronaDistance, CoronaSlicerMtl, форма боке, связи источников с объектами.
Перенос Corona сделан по замерам: каждая настройка сверена рендером в обоих движках, тем же способом пойдут и эти.
Сегодня