Size: a a a

pro.graphon (and gamedev)

2020 November 17

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а в рамках одной очереди достаточно барьеров?
Да
источник

a

alexcher in pro.graphon (and gamedev)
а стоит ли использовать сабпасс депенденсы или можно явный барьер сделать в команд буфере?
источник

a

alexcher in pro.graphon (and gamedev)
депенденс дает драйверу разгуляться и менять лейаут не сразу, а в более удобное время, или че-нибудь такое?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
даже в разных рендерпассах и сабмитах?
То, что в очереди до барьера, синхронизируется с тем, что в очереди после барьера
источник

a

alexcher in pro.graphon (and gamedev)
alexcher
синхронизация между разными очередями?
а фенсы, получается, синхронизация цпу и гпу?
источник

d

disba1ancer in pro.graphon (and gamedev)
UsernameAK
Переслано от UsernameAK
как правильно делать подсказки для биндов в играх
это сложный вопрос, можно какими-нибудь обозначениями прибинженой клавиши, что-то вроде "Вперёд — W"
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а стоит ли использовать сабпасс депенденсы или можно явный барьер сделать в команд буфере?
На обычных ПКшных GPU без разницы, на D3D12 вообще нет субпассов, есть пассы начиная с какого-то обновления, но они немножко бесполезные пока
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
На плиточных ты у субпассов делаешь зависимости by region
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
На обычных ПКшных GPU без разницы, на D3D12 вообще нет субпассов, есть пассы начиная с какого-то обновления, но они немножко бесполезные пока
то есть если ручками сделать барьер - перфа от этого не упадет?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
То есть, в пределах каждого пикселя аттачментов
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А не на целый ресурс
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Вообще, не знаю, а нужны ли зависимости у субпассов вообще даже в пределах одного пасса, или можно просто использовать те же vkCmdPipelineBarrier, но внутри пасса (если ты используешь барьеры внутри пасса, то ты им и синхронизируешь только то в пределах пасса, а не вообще всей очереди)
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
На плиточных ты у субпассов делаешь зависимости by region
это как?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
это как?
На плиточных GPU всё содержимое пасса проигрывается несколько раз, сначала для одной плитки, потом для другой, и так далее
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Геометрию плиток ты не знаешь, тут уже драйвер решает
источник

a

alexcher in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
На плиточных GPU всё содержимое пасса проигрывается несколько раз, сначала для одной плитки, потом для другой, и так далее
а не для каждой плитки проигрывается каждый сабпасс?
источник

a

alexcher in pro.graphon (and gamedev)
сначала все сабпассы для одной плитки, потом для другой
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а не для каждой плитки проигрывается каждый сабпасс?
В том вся и суть пассов, что выгружать в память надо только тогда, когда закончится весь пасс
источник

a

alexcher in pro.graphon (and gamedev)
по крайней мере если так, то логично
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
alexcher
а не для каждой плитки проигрывается каждый сабпасс?
Для одной плитки все сабпассы, потом для другой плитки все сабпассы, да
источник