Войти
ПрограммированиеФорумГрафика

Аппаратная поддержка трассировки лучей в DX12 (12 стр)

Страницы: 111 12 13 1434 Следующая »
#165
6:58, 25 апр. 2018

san
> Для этого надо писать специальную программу, поскольку Titan V не поддерживает
> SLI. Не думаю что это делали, особо для демки.
ray tracing легко параллелится ..

Getting a “cinematic” 24fps with real-time raytracing still requires some serious hardware: it’s currently running on Nvidia’s ultra-high-end, four-GPU DGX Station, which lists for $60,000.

https://gamedev.ru/flame/forum/?id=216540&page=21#m305

NVIDIA Unveils the DGX-1 HPC Server
https://www.anandtech.com/show/10229/nvidia-announces-dgx1-server

т.е. эта демка с дарт вейдером пёрла на :

4x NVIDIA Tesla P100

24 FPS

соответственно что новый будущий топчег Volta с аппаратным ray tracing'ом раскроет потанцевал сцены , на крайняк 7 nm - в 2019'ом :D


#166
(Правка: 7:03) 7:02, 25 апр. 2018

san
> Боюсь, что рядовой карте до Titan V идти долго...

> а насколько эта часть (аппаратная в новых ещё не вышедших видяхах - прим.) ускоряет ray tracing

Сильно ускоряет, очень, в несколько раз.

https://gamedev.ru/code/forum/?id=234507&page=11#m156

#167
(Правка: 8:11) 8:05, 25 апр. 2018

itmanager85
> ray tracing легко параллелится ..
Ты сам то пробовал? Это тебе не SLI где за тебя все разработчики драйвера делают. Тут надо ручками... Nvidia так и делает. А вот ты - попробуй. Флаг тебе в руку. Я это сделал на DX12 , но месяца три положил.

Titan V вобще трудно рассматртивать как видеокарту, даже будущую. Это совсем другого класса продукт. Если он еще может и рендерить обычную геометрию, так это бонус. Но его основное назначение - это вычисления с двочной точностью и искусственный интеллект. Что он может делать с 3D фракталами - страшно представить. Кстати там как раз рэйтрейсинг (маршинг - не суть важно).

>соответственно что новый будущий топчег Volta с аппаратным ray tracing'ом

В Titan V УЖЕ есть аппартаный рэйтрасинг. Единственная карта, где он действительно аппаратный :)

#168
(Правка: 8:36) 8:36, 25 апр. 2018

san
> Ты сам то пробовал?
пробовал - легко параллелится ..

https://www.youtube.com/watch?v=EoYtqDmVGlM

san
> В Titan V УЖЕ есть аппартаный рэйтрасинг.
any proofs ?

#169
(Правка: 9:38) 9:37, 25 апр. 2018

san
> В Titan V УЖЕ есть аппартаный рэйтрасинг. Единственная карта, где он
> действительно аппаратный :)
это не так, к сожалению.

itmanager85
>пробовал - легко параллелится ..
не может он легко параллелиться ввиду бранчинга и фактического отсутствия кэша

#170
(Правка: 10:38) 10:30, 25 апр. 2018

lexer42152
> не может он легко параллелиться ввиду бранчинга и фактического отсутствия кэша
всмысле ? делишь экран на двое - первую часть экрана считает (ray trace'ит) один GPU , вторую - другой .. не вижу никаких проблем .. :D

ну это грубо - а проще , выборка меньшими частями экрана - чтобы исключить простои одного GPU на месте (участке экрана) где мало объектов ..

если не охота заморачиваться - чётные пискели (экрана) считает одна видяха, не чётные другая - время расчёта на двух видяхах будет приблизительно одинаковое ..

#171
(Правка: 11:03) 11:01, 25 апр. 2018

itmanager85
>всмысле ? делишь экран на двое - первую часть экрана считает (ray trace'ит) один GPU , вторую - другой .. не вижу никаких проблем .. :D
Сделай при такой схеме, скажем, bloom. И сразу увидишь проблему. Я уж не говорю о том, что тебе полкадра придется тащить во фреймбуфер из slave gpu в master: это очень медленная операция. VR от этого как раз сильно страдает.
При таком разделении между GPU тяжелейшей становится проблема выбора правильного mipmap к тому же.

#172
(Правка: 12:09) 11:53, 25 апр. 2018

lexer42152
> Я уж не говорю о том, что тебе полкадра придется тащить во фреймбуфер из slave
> gpu в master: это очень медленная операция.
смешно - пропускная способность PCI-E 3.0 x16 - 32 ГБ в секунду ,

ну допустим там два по x8 - т.е. каждый по 16 ГБ в секунду ,

задержка при копировании из GPU VRAM в ОЗУ и обратно во вторую видяху - ещё x2

т.е. получаем минимум 8 ГБ в секунду (копирование данных из одной видяхи в другую), делим на 60 FPS = 136.5 МБайт в секунду , изображение Full HD (32 бит цвет - 4 байта на пиксель) если что весит 8.1 мбайт ..

о каких медленных операциях тут идёт речь ? :D


если вливать все данные на каждый пиксель по найденным пересечениям , то с глубиной ray trace'а 4 нужен лишь индекс треугольника (int) / точка пересечения (float4) (и данные исходящего из экрана пикселя float4 x2) - считаем ,

float4 x2 (4*4 * x2 байт) + 4 * (int (4 байта) + float4 (4*4 байт) ) = 32 байт + 4*20 байт = 112 байт ..

считаем , 112 байт * 1920*1080/2 =  113,4 мбайт - укладываемся в 60 FPS (136.5 МБайт в секунду)


да , 112 байт жирновато , но начальные данные экранные можно не передавать

тогда 80 байт * 1920*1080/2 = 81 мбайт  (итого можно замутить под 100 FPS в Full HD) ..


глубина отражений обычно всего 1 (больше просто видяхи пока что не потянут в Full HD в сложных сценах),

итого , 80 байт/2 * 1920*1080/2 = 40 мбайт передавать данных за кадр , итого можно замутить под 200 FPS в Full HD .. :D


P.S.: можно ещё в float3 паковать - тогда в последнем случае понадобится не 40 байт а всего - 32 байта .. (260 FPS) .. ;-)


lexer42152, ещё вопросы ? :D

#173
12:21, 25 апр. 2018

itmanager85
>смешно - пропускная способность PCI-E 3.0 x16 - 32 ГБ в секунду ,
это все в теории. На практике, во первых, текстуры на стороне GPU всегда пакуются, а во-вторых, существует задержка копирования, связанная с латентностью. Короче, на практике, full HD будет на какой-нибудь 970 копироваться до 7мс (плюс зависимость от CPU): это немало, учитывая, что это не единственное, что есть во frame budget. Ну и потом, даже если (это очень большое если, удалось эффективно справиться с копированием), то все пост-эффекты вы будете накладывать после копирования. Т.е. ваш пайплайн будет выглядеть так: скопировать все геометрию на все имеющиеся GPU, на всех построить acceleration структуры, на всех запустить рей-трейсинг, скопировать из slave в master полкадра, наложить постпроцесс на мастере -> синхронизирвоать -> повторить. И я тут же вас спрашиваю: а на кой вы при таком раскладе вообще что-то копируете? Обычный AFR в смысле throughput порвет предложенную вами схему как Тузик грелку. Делайте AFR. Вот только это (как, впрочем, и то, что вы предложили) к распараллеливанию рейтрейсинга не имеет отношения: это просто распараллеливание всего workload (причем, в сравнении с AFR еще и неэффективное). А рейтресинг как таковой на устройстве ужасно бранчится, да еще и по очевидным причинам полон кэш-промахов.

itmanager85
>глубина отражений обычно всего 1 (больше просто видяхи пока что не потянут в Full HD в сложных сценах)
Мы делали 4 и успешно бежали в 4K

#174
(Правка: 12:32) 12:31, 25 апр. 2018

lexer42152
> Мы делали 4 и успешно бежали в 4K
на новых видяхах я так понимаю ? :D чёт сильно жирно .. (или может отражающих поверхностей не много было)

а почему на шлеме в демке ниже отражения дёргаются и как будто отрендерены (и отрейтрейсены) в меньшем разрешении ?

https://youtu.be/81E9yVU-KB8?t=41

#175
12:31, 25 апр. 2018

itmanager85
> т.е. получаем минимум 8 ГБ в секунду (копирование данных из одной видяхи в
> другую), делим на 60 FPS = 136.5 МБайт в секунду , изображение Full HD (32 бит
> цвет - 4 байта на пиксель) если что весит 8.1 мбайт ..
это пропускная способность, а латентность какая?

#176
18:52, 25 апр. 2018

NVidia выпускает драйвер 397.31:

New feature and fixes in driver 397.31
Game Ready - Provides the optimal gaming experience for BattleTech and FrostPunk.

New Features

NVIDIA RTX Technology
Developer preview for NVIDIA RTX ray tracing technology for DirectX 12. NVIDIA RTX supports the Microsoft DirectX Raytracing (DXR) API on NVIDIA Volta GPUs.

In order to get started with developing DirectX Raytracing applications accelerated by RTX, you'll need the following:

-NVIDIA Volta GPU

-NVIDIA driver version 396 or higher

-Windows 10 RS4

-Microsoft's DXR developer package, consisting of DXR-enabled D3D runtimes, HLSL compiler, and headers

+ Показать

#177
(Правка: 20:07) 20:06, 25 апр. 2018

itmanager85
> а почему на шлеме в демке ниже отражения дёргаются и как будто отрендерены (и
> отрейтрейсены) в меньшем разрешении ?
Окей, что ты понимаешь под "меньшим разрешением"? Меньше, чем что?

#178
7:04, 26 апр. 2018

Delfigamer
> Окей, что ты понимаешь под "меньшим разрешением"? Меньше, чем что?
меньше чем точек маски (на голове персонажа) на экране в Full HD ..

так кстате не только я думаю , аххаха, но И ТЫ САМ Изображение

Delfigamer
> itmanager85
> > какие ограничение - считаете в меньшем разрешении отражения на маску трейсили
> > ?
> Дикий алиасинг на деталях в отражении же, при движении как раз мерцание в глаза
> бросается. ...Ну да, лучей на пиксел сэкономили, так что да, разрешение меньше,
> чем было бы в идеале.

https://gamedev.ru/code/forum/?id=175248&page=14#m195

#179
(Правка: 7:13) 7:12, 26 апр. 2018

itmanager85
> на новых видяхах я так понимаю ? :D чёт сильно жирно .. (или может отражающих
> поверхностей не много было)
>
> а почему на шлеме в демке ниже отражения дёргаются и как будто отрендерены (и
> отрейтрейсены) в меньшем разрешении ?

Там почти все отражающее, если вы не обратили внимания. Просто есть фокус с экономией ресурсов: трейсятся только те участки, где без настоящего рей-трейсинга нельзя. Подробнее есть в презентации c GDC.

Страницы: 111 12 13 1434 Следующая »
ПрограммированиеФорумГрафика