Crystal

бета-версия GPU-рендер для 3ds Max · движок Cycles

Рендерит сцены Corona на видеокарте без переделки. При одинаковом шуме Crystal на RTX 4080 был быстрее Corona на 24-ядерном i9 в 48 раз на траве, в 29 раз на 3D-модели, в 11 раз в интерьере и в 4,2 раза на экстерьере. С денойзером у обоих разрыв ещё больше: в 70 раз на 3D-модели, в 31 раз на траве, в 18 раз в интерьере и в 6,4 раза на экстерьере.

Жилой комплекс, рендер Crystal с денойзером OptiXCrystal · 40,0 с · RTX 4080 · денойзер OptiX · сцена: Вячеслав Кунгуров
×11Интерьер: во сколько раз Crystal быстрее при равном шуме, без денойзера
×4,2Экстерьер: во сколько раз Crystal быстрее при равном шуме, без денойзера
×293D-модель: во сколько раз Crystal быстрее при равном шуме, без денойзера
×48Растительность: во сколько раз Crystal быстрее при равном шуме, без денойзера

Итог · без денойзера

Время до одинакового шума

×0,5 ×1 ×2 ×4 ×8 ×16 ×32 ×64 ×128 Интерьер ×11 Экстерьер ×4,2 3D-модель ×29 Растительность ×48

Во сколько раз Crystal быстрее Corona, логарифмическая шкала. Сравнение при самом низком шуме, которого в замерах достигли оба рендерера.

сценашумCoronaCrystalбыстрее
Интерьер1,67 %103,1 с9,7 с×11
Экстерьер0,14 %358,2 с85,4 с×4,2
3D-модель0,66 %210,4 с7,2 с×29
Растительность2,46 %307,5 с6,5 с×48

Без денойзера, полное время вызова рендера вместе с подготовкой сцены.

Итог · с денойзером 1,0

Время до одинаковой чистоты

×0,5 ×1 ×2 ×4 ×8 ×16 ×32 ×64 ×128 Интерьер ×18 Экстерьер ×6,4 3D-модель ×70 Растительность ×31

Corona — денойзер High Quality, Crystal — OptiX, коэффициент 1,0 у обоих. Сравнение при самой низкой ошибке, которой достигли оба.

сценаошибкаCoronaCrystalбыстрее
Интерьер1,03 %55,7 с3,0 с×18
Экстерьер0,23 %169,9 с26,4 с×6,4
3D-модель0,98 %108,7 с1,5 с×70
Растительность3,81 %162,0 с5,3 с×31

Ошибка — отличие от длинного рендера с денойзером того же рендерера. Эталон Corona шумнее эталона Crystal, поэтому здесь выигрыш Crystal скорее завышен.

Как мерили

Одинаковый шум, честное время

  1. Сцены открыты в своих единицах, с настройками Corona, в которых они сделаны. Crystal берёт из Corona тональную коррекцию, окружение и ограничение яркости сэмплов. Резкость, размытие и Bloom & Glare выключены у обоих: они меняют зерно, на котором сидят.
  2. Corona рендерит 4, 8, 16, 32 и 64 прохода, Crystal — от 64 до 4096 сэмплов. Длинная сторона кадра 1024 пикселя, пропорции — из сцены. Время — полное время вызова рендера, вместе с подготовкой сцены, после одного прогревочного рендера.
  3. Каждое число проходов или сэмплов рендерится дважды с разным шаблоном сэмплирования. Шум кадра — средняя разница двух рендеров по всем пикселям, делённая на √2, в процентах от диапазона экрана, в экранных значениях. Так шум каждого рендерера измерен относительно его собственной картинки, и разница во внешнем виде двух движков в замер не попадает.
  4. С денойзером (у обоих коэффициент 1,0) пара рендеров не видит того, что денойзер смазал, поэтому ошибка там считается как отличие от длинного рендера с денойзером того же рендерера: Corona 128 проходов, Crystal 8192 сэмпла.
  5. Время до одинакового шума берётся с кривой Crystal между двумя замеренными точками, в логарифмическом масштабе, без экстраполяции. Уровни Corona, которых Crystal не достиг или с которых он начинает уже чище, в таблицы не входят.
  6. Шум падает как корень из времени: чтобы снизить его вдвое, нужно вчетверо больше сэмплов. Поэтому шум, меньший всего на 20 %, означает рендер в полтора раза быстрее, а вдвое меньший — вчетверо. Сравнивать стоит время, а не проценты шума.
CoronaIntel Core i9-13900KF, 24 ядра, 32 потока. Настройки сцены, денойзер High Quality.
Crystal 0.1NVIDIA GeForce RTX 4080, 16 ГБ, OptiX. GI cache, light tree и порталы, как по умолчанию; адаптивное сэмплирование выключено.
3ds Max 2024Windows 10 Pro, одна машина, рендер из 3dsmaxbatch, без других задач.

Сцена 1 из 4 · InteriorTest.max · 768 × 1024 px

Интерьер: скандинавская кухня

Кухня с дневным светом из окна: CoronaSun, источники Corona, 1569 объектов, текстуры на дереве, плитке и тканях, стекло и растения. Сцена: Вячеслав Кунгуров.

Corona, 9,3 с, с денойзером Crystal, 8,9 с, с денойзером Corona · 9,3 сCrystal · 8,9 с
С денойзером, коэффициент 1,0: Corona 2 проходов, High Quality; Crystal 512 сэмплов, OptiX. Двигайте границу.

Шум от времени, без денойзера

2 5 10 20 50 100 1 2 5 время рендера, с (лог. шкала) шум, % Corona: 4 проходов, 11,2 с, шум 5,79 % Corona: 8 проходов, 17,5 с, шум 4,34 % Corona: 16 проходов, 29,6 с, шум 3,27 % Corona: 32 проходов, 54,2 с, шум 2,36 % Corona: 64 проходов, 103,1 с, шум 1,67 % Crystal: 64 сэмплов, 2,0 с, шум 4,66 % Crystal: 128 сэмплов, 3,1 с, шум 3,49 % Crystal: 256 сэмплов, 4,7 с, шум 2,57 % Crystal: 512 сэмплов, 8,0 с, шум 1,86 % Crystal: 1024 сэмплов, 14,4 с, шум 1,33 % Crystal: 2048 сэмплов, 27,6 с, шум 0,95 % Crystal: 4096 сэмплов, 53,8 с, шум 0,67 %

Corona, CPU Crystal, GPU равный шум

Время до одинакового шума

шумCoronaCrystalбыстрее
4,34 %17,5 с 8 пр.2,3 с 75 сэмпл.×7,8
3,27 %29,6 с 16 пр.3,4 с 147 сэмпл.×8,8
2,37 %54,2 с 32 пр.5,4 с 306 сэмпл.×10
1,67 %103,1 с 64 пр.9,7 с 646 сэмпл.×11

Без денойзера. Время Corona — замер, время Crystal — по его кривой между двумя замерами.

Ошибка от времени, с денойзером 1,0

2 5 10 20 50 0,5 1 2 5 10 время рендера, с (лог. шкала) ошибка, % Corona: 1 проходов, 6,2 с, ошибка 11,62 % Corona: 2 проходов, 9,3 с, ошибка 4,85 % Corona: 4 проходов, 12,6 с, ошибка 2,87 % Corona: 8 проходов, 18,8 с, ошибка 1,92 % Corona: 16 проходов, 31,1 с, ошибка 1,29 % Corona: 32 проходов, 55,7 с, ошибка 1,03 % Crystal: 8 сэмплов, 1,7 с, ошибка 1,95 % Crystal: 16 сэмплов, 2,1 с, ошибка 1,76 % Crystal: 32 сэмплов, 2,2 с, ошибка 1,39 % Crystal: 64 сэмплов, 2,7 с, ошибка 1,11 % Crystal: 128 сэмплов, 3,6 с, ошибка 0,89 % Crystal: 256 сэмплов, 5,2 с, ошибка 0,73 % Crystal: 512 сэмплов, 8,9 с, ошибка 0,59 % Crystal: 1024 сэмплов, 15,8 с, ошибка 0,49 %

Corona, High Quality Crystal, OptiX равная ошибка

Время до одинаковой ошибки

ошибкаCoronaCrystalбыстрее
1,92 %18,8 с 8 пр.1,7 с 8 сэмпл.×11
1,29 %31,1 с 16 пр.2,4 с 40 сэмпл.×13
1,03 %55,7 с 32 пр.3,0 с 81 сэмпл.×18

Ошибка — отличие от длинного рендера с денойзером того же рендерера (Corona 128 проходов, Crystal 8192 сэмпла). Эталон Corona шумнее, поэтому на нижних строках выигрыш Crystal завышен.

Corona без денойзера, фрагмент 1:1Corona · 54,2 с
Crystal без денойзера, фрагмент 1:1Crystal · 53,8 с
Без денойзера, фрагмент в масштабе 1:1: Corona за 54,2 с (32 проходов) и Crystal за 53,8 с (4096 сэмплов). Шум у Crystal здесь в 3,5 раза ниже, чем у Corona, хотя рендер почти такой же по времени.

Сцена 2 из 4 · GKTest.max · 1024 × 819 px

Экстерьер: жилой комплекс

Жилой квартал под вечерним небом, камера Corona Camera002, кадр 10 с размытием в движении у обоих рендереров: CoronaSun и HDRI, 214 источников Corona, декали, Chaos Scatter и Forest Pack, 1864 объекта. Сцена: Вячеслав Кунгуров.

Corona, 37,4 с, с денойзером Crystal, 40,0 с, с денойзером Corona · 37,4 сCrystal · 40,0 с
С денойзером, коэффициент 1,0: Corona 8 проходов, High Quality; Crystal 1024 сэмплов, OptiX. Двигайте границу.

Шум от времени, без денойзера

20 50 100 200 0,2 0,5 время рендера, с (лог. шкала) шум, % Corona: 4 проходов, 17,8 с, шум 0,77 % Corona: 8 проходов, 34,5 с, шум 0,50 % Corona: 16 проходов, 78,4 с, шум 0,32 % Corona: 32 проходов, 169,4 с, шум 0,21 % Corona: 64 проходов, 358,2 с, шум 0,14 % Crystal: 64 сэмплов, 16,3 с, шум 0,84 % Crystal: 128 сэмплов, 16,9 с, шум 0,60 % Crystal: 256 сэмплов, 19,9 с, шум 0,43 % Crystal: 512 сэмплов, 25,9 с, шум 0,31 % Crystal: 1024 сэмплов, 38,0 с, шум 0,22 % Crystal: 2048 сэмплов, 62,2 с, шум 0,16 % Crystal: 4096 сэмплов, 114,8 с, шум 0,12 %

Corona, CPU Crystal, GPU равный шум

Время до одинакового шума

шумCoronaCrystalбыстрее
0,77 %17,8 с 4 пр.16,4 с 75 сэмпл.×1,1
0,50 %34,5 с 8 пр.18,4 с 183 сэмпл.×1,9
0,32 %78,4 с 16 пр.25,3 с 482 сэмпл.×3,1
0,21 %169,4 с 32 пр.42,4 с 1195 сэмпл.×4,0
0,14 %358,2 с 64 пр.85,4 с 2931 сэмпл.×4,2

Без денойзера. Время Corona — замер, время Crystal — по его кривой между двумя замерами.

Машина на переднем плане у Corona синяя, у Crystal коричневая, дорога у Crystal с фиолетовым оттенком: расхождение в переносе материалов, на замер шума не влияет. Подготовка сцены у Crystal занимает около 15 с на каждый рендер, поэтому при малом числе проходов он почти не обгоняет Corona.

Ошибка от времени, с денойзером 1,0

10 20 50 100 0,2 0,5 1 2 время рендера, с (лог. шкала) ошибка, % Corona: 1 проходов, 10,1 с, ошибка 2,59 % Corona: 2 проходов, 13,9 с, ошибка 1,47 % Corona: 4 проходов, 19,1 с, ошибка 0,79 % Corona: 8 проходов, 37,4 с, ошибка 0,51 % Corona: 16 проходов, 81,2 с, ошибка 0,34 % Corona: 32 проходов, 169,9 с, ошибка 0,24 % Crystal: 8 сэмплов, 14,1 с, ошибка 0,88 % Crystal: 16 сэмплов, 14,3 с, ошибка 0,70 % Crystal: 32 сэмплов, 15,1 с, ошибка 0,56 % Crystal: 64 сэмплов, 16,1 с, ошибка 0,45 % Crystal: 128 сэмплов, 17,5 с, ошибка 0,36 % Crystal: 256 сэмплов, 20,8 с, ошибка 0,29 % Crystal: 512 сэмплов, 27,0 с, ошибка 0,23 % Crystal: 1024 сэмплов, 40,0 с, ошибка 0,18 %

Corona, High Quality Crystal, OptiX равная ошибка

Время до одинаковой ошибки

ошибкаCoronaCrystalбыстрее
0,79 %19,1 с 4 пр.14,2 с 11 сэмпл.×1,3
0,51 %37,4 с 8 пр.15,5 с 43 сэмпл.×2,4
0,34 %81,2 с 16 пр.18,3 с 155 сэмпл.×4,4
0,23 %169,9 с 32 пр.26,4 с 482 сэмпл.×6,4

Ошибка — отличие от длинного рендера с денойзером того же рендерера (Corona 128 проходов, Crystal 8192 сэмпла). Эталон Corona шумнее, поэтому на нижних строках выигрыш Crystal завышен.

Corona без денойзера, фрагмент 1:1Corona · 17,8 с
Crystal без денойзера, фрагмент 1:1Crystal · 16,9 с
Без денойзера, фрагмент в масштабе 1:1: Corona за 17,8 с (4 проходов) и Crystal за 16,9 с (128 сэмплов). Шум у Crystal здесь в 1,3 раза ниже, чем у Corona, хотя рендер почти такой же по времени.

Сцена 3 из 4 · Baskets2016_Test.max · 1024 × 1024 px

3D-модель: корзины

Натюрморт на чёрном фоне: плетёные корзины, колосья, яблоки, свечи в стекле, кленовый лист; 3 источника, 22 объекта.

Corona, 3,2 с, с денойзером Crystal, 3,3 с, с денойзером Corona · 3,2 сCrystal · 3,3 с
С денойзером, коэффициент 1,0: Corona 1 проходов, High Quality; Crystal 128 сэмплов, OptiX. Двигайте границу.

Шум от времени, без денойзера

2 5 10 20 50 100 200 0,2 0,5 1 2 время рендера, с (лог. шкала) шум, % Corona: 4 проходов, 10,7 с, шум 2,84 % Corona: 8 проходов, 23,4 с, шум 1,91 % Corona: 16 проходов, 50,3 с, шум 1,31 % Corona: 32 проходов, 103,6 с, шум 0,93 % Corona: 64 проходов, 210,4 с, шум 0,66 % Crystal: 64 сэмплов, 1,8 с, шум 1,52 % Crystal: 128 сэмплов, 3,1 с, шум 1,08 % Crystal: 256 сэмплов, 5,3 с, шум 0,78 % Crystal: 512 сэмплов, 9,8 с, шум 0,55 % Crystal: 1024 сэмплов, 18,6 с, шум 0,39 % Crystal: 2048 сэмплов, 36,0 с, шум 0,28 % Crystal: 4096 сэмплов, 69,9 с, шум 0,20 %

Corona, CPU Crystal, GPU равный шум

Время до одинакового шума

шумCoronaCrystalбыстрее
1,31 %50,3 с 16 пр.2,3 с 86 сэмпл.×22
0,93 %103,6 с 32 пр.4,0 с 176 сэмпл.×26
0,66 %210,4 с 64 пр.7,2 с 360 сэмпл.×29

Без денойзера. Время Corona — замер, время Crystal — по его кривой между двумя замерами.

Ошибка от времени, с денойзером 1,0

1 2 5 10 20 50 100 0,5 1 2 5 время рендера, с (лог. шкала) ошибка, % Corona: 1 проходов, 3,2 с, ошибка 6,05 % Corona: 2 проходов, 7,0 с, ошибка 3,74 % Corona: 4 проходов, 12,2 с, ошибка 2,67 % Corona: 8 проходов, 25,2 с, ошибка 1,82 % Corona: 16 проходов, 53,1 с, ошибка 1,30 % Corona: 32 проходов, 108,7 с, ошибка 0,98 % Crystal: 8 сэмплов, 0,9 с, ошибка 1,51 % Crystal: 16 сэмплов, 1,1 с, ошибка 1,24 % Crystal: 32 сэмплов, 1,5 с, ошибка 1,01 % Crystal: 64 сэмплов, 2,1 с, ошибка 0,82 % Crystal: 128 сэмплов, 3,3 с, ошибка 0,66 % Crystal: 256 сэмплов, 5,6 с, ошибка 0,53 % Crystal: 512 сэмплов, 10,1 с, ошибка 0,42 % Crystal: 1024 сэмплов, 19,2 с, ошибка 0,34 %

Corona, High Quality Crystal, OptiX равная ошибка

Время до одинаковой ошибки

ошибкаCoronaCrystalбыстрее
1,30 %53,1 с 16 пр.1,1 с 13 сэмпл.×50
0,98 %108,7 с 32 пр.1,5 с 35 сэмпл.×70

Ошибка — отличие от длинного рендера с денойзером того же рендерера (Corona 128 проходов, Crystal 8192 сэмпла). Эталон Corona шумнее, поэтому на нижних строках выигрыш Crystal завышен.

Corona без денойзера, фрагмент 1:1Corona · 10,7 с
Crystal без денойзера, фрагмент 1:1Crystal · 9,8 с
Без денойзера, фрагмент в масштабе 1:1: Corona за 10,7 с (4 проходов) и Crystal за 9,8 с (512 сэмплов). Шум у Crystal здесь в 5,2 раза ниже, чем у Corona, хотя рендер почти такой же по времени.

Сцена 4 из 4 · TRAVA04.max · 1024 × 1024 px

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

Густая луговая трава с клевером под солнцем, 61 объект: тонкие травинки, просвет сквозь них.

Corona, 14,5 с, с денойзером Crystal, 14,3 с, с денойзером Corona · 14,5 сCrystal · 14,3 с
С денойзером, коэффициент 1,0: Corona 1 проходов, High Quality; Crystal 512 сэмплов, OptiX. Двигайте границу.

Шум от времени, без денойзера

5 10 20 50 100 200 0,5 1 2 5 время рендера, с (лог. шкала) шум, % Corona: 4 проходов, 29,3 с, шум 8,12 % Corona: 8 проходов, 48,3 с, шум 6,10 % Corona: 16 проходов, 85,5 с, шум 4,56 % Corona: 32 проходов, 159,6 с, шум 3,36 % Corona: 64 проходов, 307,5 с, шум 2,46 % Crystal: 64 сэмплов, 5,7 с, шум 2,99 % Crystal: 128 сэмплов, 7,1 с, шум 2,14 % Crystal: 256 сэмплов, 9,3 с, шум 1,52 % Crystal: 512 сэмплов, 14,1 с, шум 1,08 % Crystal: 1024 сэмплов, 23,3 с, шум 0,77 % Crystal: 2048 сэмплов, 42,0 с, шум 0,54 % Crystal: 4096 сэмплов, 79,5 с, шум 0,38 %

Corona, CPU Crystal, GPU равный шум

Время до одинакового шума

шумCoronaCrystalбыстрее
2,46 %307,5 с 64 пр.6,5 с 95 сэмпл.×48

Без денойзера. Время Corona — замер, время Crystal — по его кривой между двумя замерами.

Картинки заметно различаются: у Crystal трава зеленее и площе, без жёлтых травинок, просвечивающих на солнце, как у Corona. Часть разницы в скорости идёт от этого.

Ошибка от времени, с денойзером 1,0

5 10 20 50 100 1 2 5 10 время рендера, с (лог. шкала) ошибка, % Corona: 1 проходов, 14,5 с, ошибка 16,60 % Corona: 2 проходов, 21,6 с, ошибка 11,39 % Corona: 4 проходов, 31,5 с, ошибка 8,36 % Corona: 8 проходов, 50,6 с, ошибка 6,38 % Corona: 16 проходов, 88,1 с, ошибка 4,91 % Corona: 32 проходов, 162,0 с, ошибка 3,81 % Crystal: 8 сэмплов, 4,8 с, ошибка 5,12 % Crystal: 16 сэмплов, 5,1 с, ошибка 4,28 % Crystal: 32 сэмплов, 5,4 с, ошибка 3,50 % Crystal: 64 сэмплов, 6,0 с, ошибка 2,73 % Crystal: 128 сэмплов, 7,2 с, ошибка 2,04 % Crystal: 256 сэмплов, 9,6 с, ошибка 1,49 % Crystal: 512 сэмплов, 14,3 с, ошибка 1,09 % Crystal: 1024 сэмплов, 24,0 с, ошибка 0,80 %

Corona, High Quality Crystal, OptiX равная ошибка

Время до одинаковой ошибки

ошибкаCoronaCrystalбыстрее
4,91 %88,1 с 16 пр.4,8 с 9 сэмпл.×18
3,81 %162,0 с 32 пр.5,3 с 23 сэмпл.×31

Ошибка — отличие от длинного рендера с денойзером того же рендерера (Corona 128 проходов, Crystal 8192 сэмпла). Эталон Corona шумнее, поэтому на нижних строках выигрыш Crystal завышен.

Corona без денойзера, фрагмент 1:1Corona · 85,5 с
Crystal без денойзера, фрагмент 1:1Crystal · 79,5 с
Без денойзера, фрагмент в масштабе 1:1: Corona за 85,5 с (16 проходов) и Crystal за 79,5 с (4096 сэмплов). Шум у Crystal здесь в 11,9 раза ниже, чем у Corona, хотя рендер почти такой же по времени.

Что умеет Crystal

Ваша сцена Corona рендерится без переделки

Материалы и карты Corona

CoronaPhysicalMtl, Legacy, Layered, Light, Select, Volume, а также Physical, PBR, glTF, Multi/Sub, Blend. Около восьмидесяти настроек материалов сверены с Corona рендером шара в обоих движках. Карты, которым нет пары в Cycles, 3ds Max запекает сам.

Свет и небо

CoronaLight, CoronaSun и CoronaSky с куполом, HDRI в CoronaBitmap, порталы в окнах. Light tree рассчитан на сцены с тысячами источников.

Тональная коррекция Corona

Экспозиция, ACES OT, Filmic, контраст, насыщенность, баланс белого, Tint, LUT (.cube), виньетка и резкость. Значения те же, что в Corona.

Рассадки и декали

Forest Pack Pro, RailClone, Chaos Scatter (Crystal расставляет копии сам по настройкам рассадки), CDecal, Corona Proxy.

Свой Frame Buffer

Финальный и интерактивный рендер в одном окне: LightMix, пассы, уровень шума, Region, сравнение A|B, цвет пикселя по правой кнопке, сохранение в PNG и EXR.

ActiveShade на GPU

Интерактивный рендер во вьюпорте и в окне Crystal: движения камеры и правки сцены видны сразу, а DLSS Ray Reconstruction позволяет считать превью в уменьшенном размере.

Каустика фотонами

Фотонная каустика и дисперсия в стекле и воде, через собственный патч Cycles: блики от бокалов и бассейнов собираются чисто, без россыпи ярких точек.

Ограничения рендера

Лимит шума, лимит времени, автосохранение каждого рендера. Остановка в любой момент даёт денойзенную картинку, а не обрывок.

Сегодня

Что нужно знать