Переиначил тренсферы с unsigned short на half, фактически вопрос только в организации данных, с фиксированной точки на плавающую.
Можете сравнить результат. Отличия видны, если быстро свапать картинки местами. Собственно это вообще единственный визуальный метод сравнения, которым можно пользоваться.
Вложение: half-float.7z (162.7 кб)
Этот файл был скачан 97 раз.
Дядя Миша если каждый треугольник в лайтмапе лежит отдельно, получается, они и рендерятся все по отдельности, так как не имеют общих вершин? То есть всякий там post-T&L cache идёт мимо?
Дядя Миша тема производительности при этом не всплывала. Минусом этого подхода назывались только швы. А ведь разбиение на отдельные треугольники сильно бьёт по фпс. Плюс еще до половины пространства лайтмапы не используется.
ncuxonaT писал: А ведь разбиение на отдельные треугольники сильно бьёт по фпс
Да, производительность падает на треть примерно. Ну что тут поделаешь? Это минус raw-лайтмапы. Если бы я её сохранял в атлас, этого можно было избежать.
Цитата:
ncuxonaT писал: Плюс еще до половины пространства лайтмапы не используется.
и это тожы да. Главное я всё это писал - никто не реагировал. А теперь вона.
Добавлено 28-06-2019 в 20:43:
В самом сталкере кстати это всё учитывается, там лайтмапа натурально вращается на нужное кол-во градусов и всё чтобы избежать дестрипификации.
Ну и да, при таком подходе, уже не так уж важно, попал люксель куда надо или не совсем - будет гладенько. Ну это всё для NT задел. Думаете чего я щас тестирую эти рейтрейсеры (чуть не написал стритрейсеры) ?
Мне надо получить ответ на один фундаментальный вопрос - как будет устроена трасса в новом BSP. И соответственно - как сам этот BSP Будет организован. Ну потому что. Лайтмапы, вертексы, индексы, рёбра - я это вообще не считаю какой-то особенностью формата, это ерунда всё по большому счёту. Самое главное - это устройство ускоряющего дерева. И вот вокруг этого дерева мы собсно и пляшем. Особенно под новый год.
Добавлено 28-06-2019 в 20:47:
Цитата:
Crystallize писал: как шестая студия чувствует себя на 7ке у тебя?
Чтобы ответить на этот вопрос мне сперва надо установить семёрку. Разве я где-то писал что уже установил её?
Добавлено 28-06-2019 в 23:57:
Еще немного оптимизировал трассу студиомоделей для дефолтного кейса, взяз за основу "Intersection Format" из кода вальвовского рейтрейсера. В принципе оно и там и там используется в одинаковом виде, так что это код даже упростило. Теперь стандартная трасса стала быстрее процентов 10-15, но рейтрейс еще на 10% быстрее. Правда тут следует учитывать, что построение KD-Tree отымает какое-то время, ну и память тоже жрёт.
Впрочем, чтобы дать окончательный ответ, мне придется скомпилить ЧАЭС в обоих вариантах и уже тогда судить насколько стало быстрее.
Ну чтож, закончил оптимизацию потребления моделей в памяти, прямо совсем сильно ужать не получилось, примерно в два раза, с 560 мегабайт до 220. А дальше начались чудеса. ЧАЭС на новом рейтрейсере считается...
как говорил Задорнов, наберите воздуха в грудь. Готовы?
4 МИНУТЫ
Я напомню, что на обычной трассе это занимает порядка двух часов двадцати минут. Сначала не поверил, думал может ошибка какая, но нет, все лайтмапы на месте. Правда есть некоторые корявости - дырдочки кое-где. Ну то потом уже, надо сравнить с референсом. Не буду спешить с выводами.
Да нет, на CPU. Сам в шоке. Ну надо сперва референс откомпилить, а там уже будет понятно.
Добавлено 29-06-2019 в 10:34:
Ну вообщем товарищи, я в шоке. Прикладываю скриншоты. То что old - считалось два с половиной часа. То что new - 4 минуты (ну или 8 на двухядерном). Отличия есть, но они минимальны.
Вложение: compare.rar (1,215.1 кб)
Этот файл был скачан 57 раз.
Crystallize писал: Ты мог бы таким образом ускорить P2ST или VRAD?
Вопрос изначально лишён смысла. Именно P2ST я и ускорял. А VRAD и содержит этот код, при помощи которого я ускорял P2ST. Если он там не вполне справляется с задачей, то это уже не ко мне вопрос. А может быть и справляется. Никто же в него пихал карту из сталкера. А запихали бы, он бы глядишь и справился. Кто знает.