LINUX.ORG.RU

Обязательно ли удалять pipeline при изменении размера окна в vulkan?

 


0

1

Я смотрю примеры по vulkanу и везде, при пересоздании swapchain надо убить все pipeline,renderpass, пересоздать swapchain, и заново создать то что было уничтожено. а зачем?

единственное место где эти pipeline пересекаются с swapchain - это framebuffer в случае renderpass. то есть если сделать vkDeviceWaitIdle, убить framebufferы и создать заново, то всё должно работать без бубна, смс и регистрации. или я что-то упускаю?

Никогда не делай vkDeviceIdle до выхода из приложения. По теме – если формат имаджей в свопчейне не поменялся, то рендер пассы и пайплайны пересоздовать не нужно, если поменялся (перетащили окно на hdr монитор, например), то да, пересоздавать всё.

Stil ★★★★★
()
Ответ на: комментарий от salozar

потому что оно ждёт много лишнего. правильно блокироваться минимально только на том, что нужно

anonymous
()
Ответ на: комментарий от salozar

Потому что это полная блокировка конвейера. Ты ждёшь на cpu пока gpu полностью закончит всю работу. Единственный ывлидный кейс для этого – удаление вообще всех ресурсов. Во всех остальных случаях ты можешь создать новые ресурсы, зашедулить удаление не нужных и продолжать работать без блокировок.

Stil ★★★★★
()
Ответ на: комментарий от salozar

Кстати я был не прав на счёт пайплайнов: если у тебя вьюпорт/сциссор статикой, а не динамик стейтом, то пересоздавать таки надо

Stil ★★★★★
()
Ответ на: комментарий от Stil

я не планирую обеспечивать 60+ fps при изменении размера окна. если у меня нет такой необходиости - я могу это использовать?

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

salozar
() автор топика
Ответ на: комментарий от Stil

то есть я вообще хотел спросить - есть ли серьёзно опасные проблемы, вроде багов драйверов.

если их нет - будем тормозить и пофиг.

salozar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.