#096 Vulkan API: Кошмар синхронизации, часть 2: Семафоры computecloth.cpp
00:00 Введение в семафоры • Приветствие и начало серии видео о семафорах в CUDA. • Демонстрация примера с тканевым холстом, падающим на сферу. • Объяснение влияния ветра на движение холста. 01:00 Вычислительные и графические задачи • Описание двух процессов: вычислений и отображения графики. • Необходимость разделения вычислительных и графических задач. 03:13 Роль семафоров в синхронизации • Объяснение использования семафоров для синхронизации вычислений и графики. • Упоминание семафоров между отрисовкой кадра и выводом на экран. 05:09 Цепочка обмена кадрами • Объяснение цепочки обмена кадрами как очереди фреймов. • Пример с куклой на сцене для иллюстрации процесса. 06:57 Принцип работы семафоров • Объяснение, что семафор управляет синхронизацией процессов на графическом процессоре. • Правила переключения между процессами: первый процесс завершается, затем начинается второй. 10:24 Семафоры ожидания и сигнала • Описание семафора ожидания и семафора сигнала. • Роль семафора готовности в завершении процесса вычислений. 11:24 Синхронизация вычислений и графики • Процесс синхронизации вычислений и графического процессора. • Переключение семафора завершения вычислений в состояние готовности. 13:21 Отправка команд и завершение процессов • Отправка команд в очередь и проверка корректности фоновых процессов. • Получение полного сигнала для начала работы графического модуля. 14:17 Команда VKQ • Упоминание команды VKQ для отправки графических данных. • Подчёркивание важности семафорной связи между графическим процессором и графическим модулем. 14:31 Отправка команд в очередь • Команды отправляются в очередь через команду VKQ. • Важно убедиться, что вся информация о команде содержится в данных о команде отправки. • Связь между семафорами графического процессора и графического модуля. 15:30 Ожидание завершения представления • Перед рисованием нужно дождаться завершения представления. • Извлечение холста из цепочки подкачки и его очистка при необходимости. • Начало рисования после получения подтверждения, что кадр больше не рендерится. 16:28 Сигнал о завершении рендеринга • После завершения рисования подаётся сигнал семафору о завершении рендеринга. • Все действия происходят внутри функции рендеринга. 17:27 Использование Vulkan Configurator • Запуск кода в Vulkan Configurator для проверки работы приложения. • Файл VKconfig доступен после прохождения первого обучающего модуля. 18:23 Эксперименты с семафорами • Изменение семафоров для тестирования их влияния на работу приложения. • Получение ошибок при неправильном использовании семафоров. 23:21 Ошибки валидации • Ошибка валидации «Неверные объекты-семафоры». • Попытки исправить ошибки путём удаления семафоров, связанных с представлением и цепочкой буферов. 27:23 Разделение семафоров • Разделение семафоров между вычислениями и графикой. • Отрисовка начинает работать без ожидания завершения вычислений. • Появление сообщения об ошибке при неправильном использовании семафоров. 30:54 Возвращение к исходному состоянию • Возвращение к исходному состоянию для проверки работы приложения. • Подтверждение, что на этапе валидации ничего необычного не происходит. 32:34 Заключение • Анонс следующего видео о работе с барьерами. • Требования для участия в обучении: компьютер с Windows и видеокартой с поддержкой Vulkan. • Упоминание о поддержке трассировки лучей видеокартами серии RTX и более новыми от NVIDIA.
00:00 Введение в семафоры • Приветствие и начало серии видео о семафорах в CUDA. • Демонстрация примера с тканевым холстом, падающим на сферу. • Объяснение влияния ветра на движение холста. 01:00 Вычислительные и графические задачи • Описание двух процессов: вычислений и отображения графики. • Необходимость разделения вычислительных и графических задач. 03:13 Роль семафоров в синхронизации • Объяснение использования семафоров для синхронизации вычислений и графики. • Упоминание семафоров между отрисовкой кадра и выводом на экран. 05:09 Цепочка обмена кадрами • Объяснение цепочки обмена кадрами как очереди фреймов. • Пример с куклой на сцене для иллюстрации процесса. 06:57 Принцип работы семафоров • Объяснение, что семафор управляет синхронизацией процессов на графическом процессоре. • Правила переключения между процессами: первый процесс завершается, затем начинается второй. 10:24 Семафоры ожидания и сигнала • Описание семафора ожидания и семафора сигнала. • Роль семафора готовности в завершении процесса вычислений. 11:24 Синхронизация вычислений и графики • Процесс синхронизации вычислений и графического процессора. • Переключение семафора завершения вычислений в состояние готовности. 13:21 Отправка команд и завершение процессов • Отправка команд в очередь и проверка корректности фоновых процессов. • Получение полного сигнала для начала работы графического модуля. 14:17 Команда VKQ • Упоминание команды VKQ для отправки графических данных. • Подчёркивание важности семафорной связи между графическим процессором и графическим модулем. 14:31 Отправка команд в очередь • Команды отправляются в очередь через команду VKQ. • Важно убедиться, что вся информация о команде содержится в данных о команде отправки. • Связь между семафорами графического процессора и графического модуля. 15:30 Ожидание завершения представления • Перед рисованием нужно дождаться завершения представления. • Извлечение холста из цепочки подкачки и его очистка при необходимости. • Начало рисования после получения подтверждения, что кадр больше не рендерится. 16:28 Сигнал о завершении рендеринга • После завершения рисования подаётся сигнал семафору о завершении рендеринга. • Все действия происходят внутри функции рендеринга. 17:27 Использование Vulkan Configurator • Запуск кода в Vulkan Configurator для проверки работы приложения. • Файл VKconfig доступен после прохождения первого обучающего модуля. 18:23 Эксперименты с семафорами • Изменение семафоров для тестирования их влияния на работу приложения. • Получение ошибок при неправильном использовании семафоров. 23:21 Ошибки валидации • Ошибка валидации «Неверные объекты-семафоры». • Попытки исправить ошибки путём удаления семафоров, связанных с представлением и цепочкой буферов. 27:23 Разделение семафоров • Разделение семафоров между вычислениями и графикой. • Отрисовка начинает работать без ожидания завершения вычислений. • Появление сообщения об ошибке при неправильном использовании семафоров. 30:54 Возвращение к исходному состоянию • Возвращение к исходному состоянию для проверки работы приложения. • Подтверждение, что на этапе валидации ничего необычного не происходит. 32:34 Заключение • Анонс следующего видео о работе с барьерами. • Требования для участия в обучении: компьютер с Windows и видеокартой с поддержкой Vulkan. • Упоминание о поддержке трассировки лучей видеокартами серии RTX и более новыми от NVIDIA.




