RTX Mega Geometry
RTX Mega Geometry — очередное хтоническое порождение сумрачного гения кожаной куртки, призванное показать всем кузькину мать в плане производительности и графония. Если коротко, то эта хрень — попытка NVIDIA решить проблему, которая у них же самих и возникла из-за неосиляторства в лучи. Но, как обычно, вместо того, чтобы признать фейл и пилить нормальные технологии, зелёные решили натянуть сову на глобус и изобрести очередной костыль.
Суть проблемы[править]
Всё началось с того, что у BVH-структур, которые используются в этом вашем RTX, внезапно обнаружилась одна неприятная особенность. Оказалось, что их очень сложно и долго обновлять, если в сцене дохрена объектов с разными уровнями детализации (ЛОДами), а у каждой уважающей себя модели этих самых ЛОДов может быть от 4 до 10 штук. А если объекты ещё и двигаются, то вообще тушите свет. Короче, обновлять BVH стало нереально долго и дорого, особенно для динамических объектов. Это как пытаться обновить Windows XP до Windows 10 на пентиуме третьем — вроде и возможно, но нахрена?
Решение от зелёных[править]
И что же сделали в NVIDIA? Вместо того чтобы сделать всё по-человечески, они решили вкорячить в свои RT-ядра ещё парочку волшебных блоков:
Triangle Cluster Intersection Engine — эта хрень занимается тем, что группирует треугольники в некое подобие кластеров и сжимает их до состояния очень тугого архива.
Triangle Cluster Decompression Engine — а эта штука, наоборот, занимается распаковкой этих кластеров и запихиванием их прямиком в BVH, обходя все остальные стадии конвейера.
В итоге, по задумке инженеров, должно получиться так, что нагрузка на построение BVH распараллелится и узкое горлышко расширится. Это как если бы ты одновременно пытался залить в себя пиво и водку — вроде и по отдельности можно, но вместе — быстрее и веселее.
Что имеем в итоге[править]
А в итоге мы имеем очередной маркетинговый булщит от NVIDIA, который, как обычно, предсказуемо натянут на глобус. Видеокарты предыдущих поколений, вроде как, тоже умеют в эти новомодные кластеры, но только на уровне софта. Это как с OMM (Opacity Micro-Maps) — вроде и круто, но на практике работает через жопу.