в dx11 mt recording нету :( Ну и сплит барьеры нужны только для асинхронного сабмита или "странных вещей", для мультитред рекординга с определенным сабмит порядком пайплайн барьеров достаточно
Ну я имел ввиду что например у тебя есть код который плохо паралелится "автоматически". Это например потому что ты написал его с последовательными зависимостями, в таком случае тебе нужно по другому работать с данными => ручная работа. Или например у тебя есть результат многих функций который нужно скормить одной последовательно сами функции можно исполнить паралельно, но обработка результата только последовательно, не очень ясно как без явного strand / какой-то mpsc очереди это должен сделать компилятор сам. Мне кажется компилятор сам сможет только что то вроде дождемся результата всех
Почему для странных? Да, в случаях какого-нибудь пост-процессинга с пинг-понгом бесполезны. Но если ты найдёшь, чем ещё заняться между begin и end, то будет замечательно, сможешь избежать ожидания
Компилятор в очередь должен кидать. Зависимости — это уже дело твоей архитектуры, а не среды. Если у тебя много разных подсистем, думаю, всё равно, с большой вероятностью найдётся применение для ядер
Вулкан в принципе позиционирует себя как обобщенный кроссплатформенный апи с поддержкой самых новых фич видях. Разве д11 позволяет делать все те шняги, что доступны на новых видяхах?
Нет, но если ты их не используешь, то тогда твой самодельный D3D11-подобный интерфейс вряд ли обгонит сильно оптимизированный за годы целенаправленной работы настоящий D3D11
Потому что сплит нужен, чтобы не ждать кусок рендеринга между продюссером и консумером, т.е. это кусок должен быть сравним по времени ожидания на барьере, если время ожидания на барьере ничтожно по сравнению с серединой, то ты особо ничего не выигрываешь