Andrey Lazarevich

+24
с 2018
0 подписчиков
26 подписок

Надеюсь, не упустят возможность назвать свою портативную консоль Steam Gabe Boy.

1

Да, спасибо за замечание про производительность тесселяции и геометрического шейдера.

Так уже пришли, учитывая IndirectExecute (или Indirect Command Buffers у Metal), благодаря чему можно и команды в compute заполнять :-)

Самое главное, конечно, это то, что память будет между потоками быстрая и общая на этапе обработки вершин, что позволит без дополнительных обращений в медленный пул все обрабатывать.

Не совсем как хочешь, конечно. Все же определенные рекомендации по размеру мешлета и как на них разбивать есть, но в общих чертах да.

После Vertex этапа ты не очень контролируешь то, что скармливается растеризатору. Ты конечно можешь задействовать Tesselation Shader + Geometry Shader, но это дополнительные накладные расходы в виде перемещений данных туда-сюда, да и вообще не уверен, что они сильно эффективно работают(особенно тесселяция). Mesh Shader призван разбить mesh на более мелкие meshlet-ы и на ними единообразно уже провести все необходимые вычисления перед растеризатором (в т.ч. геометрии добавить, детализацию). Плюс, ты еще больше переводишь пайплайн с CPU, поскольку еще и эти самые Meshlet-ы будешь генерировать на GPU, что потенциально тебе позволяет еще и culling очень эффективно сделать. Все это проводится по образу и подобию Compute Shader-а с общей памятью на Workgroup. В эту быструю память как раз должны влезать все данные для meshlet-а и все это максимально эффективно выполняется без дополнительных ковыряний в медленной памяти.
Пояснительная картинка от Nvidia :-)

1

Согласен, костыли. Но хотя бы видеопоток с игры сможете записать, не транслируя на мак.

Извините, не сразу понял, что имеется ввиду именно tvOS. Да, на tvOS скриншоты отсутствуют, но можно снять видео через двойное нажатие кнопки Share(при условии, что приложение поддерживает игровые контроллеры)
P.S. Разумеется речь все еще про бету новой tvOS.

Если вы про поддержку кнопки Share на iOS, то скачайте бету  и попробуйте сделать долгое нажатие кнопки Share или ее альтернативы у Xbox контролера, должно работать :-)
Если не работает, отпишитесь либо сюда, либо в сообщения.