Да, спасибо за замечание про производительность тесселяции и геометрического шейдера.
Так уже пришли, учитывая IndirectExecute (или Indirect Command Buffers у Metal), благодаря чему можно и команды в compute заполнять :-)
Самое главное, конечно, это то, что память будет между потоками быстрая и общая на этапе обработки вершин, что позволит без дополнительных обращений в медленный пул все обрабатывать.
Не совсем как хочешь, конечно. Все же определенные рекомендации по размеру мешлета и как на них разбивать есть, но в общих чертах да.
После Vertex этапа ты не очень контролируешь то, что скармливается растеризатору. Ты конечно можешь задействовать Tesselation Shader + Geometry Shader, но это дополнительные накладные расходы в виде перемещений данных туда-сюда, да и вообще не уверен, что они сильно эффективно работают(особенно тесселяция). Mesh Shader призван разбить mesh на более мелкие meshlet-ы и на ними единообразно уже провести все необходимые вычисления перед растеризатором (в т.ч. геометрии добавить, детализацию). Плюс, ты еще больше переводишь пайплайн с CPU, поскольку еще и эти самые Meshlet-ы будешь генерировать на GPU, что потенциально тебе позволяет еще и culling очень эффективно сделать. Все это проводится по образу и подобию Compute Shader-а с общей памятью на Workgroup. В эту быструю память как раз должны влезать все данные для meshlet-а и все это максимально эффективно выполняется без дополнительных ковыряний в медленной памяти.
Пояснительная картинка от Nvidia :-)
Врать не буду, никогда не откатывался сам, но похоже, что как-то так + бэкап
https://wccftech.com/how-to/downgrade-tvos-14-beta-to-tvos-13-on-apple-tv-tutorial/
Согласен, костыли. Но хотя бы видеопоток с игры сможете записать, не транслируя на мак.
Извините, не сразу понял, что имеется ввиду именно tvOS. Да, на tvOS скриншоты отсутствуют, но можно снять видео через двойное нажатие кнопки Share(при условии, что приложение поддерживает игровые контроллеры)
P.S. Разумеется речь все еще про бету новой tvOS.
Если вы про поддержку кнопки Share на iOS, то скачайте бету и попробуйте сделать долгое нажатие кнопки Share или ее альтернативы у Xbox контролера, должно работать :-)
Если не работает, отпишитесь либо сюда, либо в сообщения.
Для примитивных типов и pod-типов это в большинстве случаев тоже ничего не добавляет(опять же, компилятор не дурак), т.е. будет просто последовательное смещение указателя с присвоением значения. А вот в случае с вызовом конструктора объекта - тут уже все зависит от сложности конструктора. То есть он сперва выделит память, а затем произведет вызов конструктора. Никаких оптимизаций тут уже не провести. Побаловаться с этим можно тут (https://godbolt.org/)
В C/C++ создание переменной на стеке(без инициализации) - сдвиг stack pointer на значение размера переменной, что по накладным расходам в конечном счете примерно ничего. Более того, компилятор достаточно умен, чтобы объединить несколько объявлений и сдвинуть указатель за одну операцию "sub esp N".
Удалено
Загвоздка лишь в том, что accessibility levels в C# больше, чем 2. И про остальные все благополучно забывают. И то, что для членов класса значением по умолчанию является private не делает это таким же для других типов (например класс по умолчанию - internal).
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/accessibility-levels
Так form-fitting контроллер уже давно в продаже по-моему.
Попробуй следующие шаги:
Обновись до последней версии беты -> зайди в поиск -> зайди в любой подсайт -> вернись на главную.
Да, пардон, был неправ. Значения queries берутся из предыдущего кадра, что при быстром перемещении камеры из-за угла и оставляет такие косяки popping-а.
Почему же неизлечимая? Первую dummy отрисовку в буфер глубины и вперед.
http://developer.download.nvidia.com/books/HTML/gpugems/gpugems_ch39.html
TL; DR Техника рендеринга для объемных эффектов(облака, дым), когда используется проход по некоторому объему с дискретным шагом и накопление данных для финальной отрисовки. Как пример: ray marching.
Проблемы deferred shading-а и "классических" методов сглаживания - тема отдельного обсуждения, но за дополнение спасибо.
Думаю, что нет, не отомрет, как минимум по той причине, что алиасинг возникает не только из-за низкого разрешения. Временное сглаживание, mip-уровни, вот это все не просто так изобреталось.
Вот весьма неплохой обзор. Пусть название не обманывает, там разбираются и пост-процессинговые. Хватило, чтобы восполнить знания при подготовке к собеседованию :-)
https://mynameismjp.wordpress.com/2012/10/24/msaa-overview/
Про MSAA допущена некоторая неточность, а вернее какая-то каша из morphological anti-aliasing и SSAA.
Multisample anti-aliasing не совсем про выборочное увеличение точек на границах. Увеличение выборки происходит в любом случае, но вот затенение(shading) происходит для ОДНОЙ точки в центре фрагмента, а конечное значение получается в зависимости от количества точек прошедших растеризацию, однако тест глубины и прочие выполнять приходится все равно. Отсюда и выигрыш, поскольку самую затратную часть - фрагментный шейдер - выполняем один раз на точку, как и без AA.
Надеюсь, не упустят возможность назвать свою портативную консоль Steam Gabe Boy.