У меня был следующий план для реализации асинхронной загрузки буфера в программе OpenGL:
- Создание общих контекстов.Поток рендеринга имеет один, рабочий поток имеет один.
- Рабочий поток вызывает glBufferData.Каждый вызов распределяет и загружает данные полностью свежими.
- Визуализация потока проверяет состояние загрузки буфера с помощью ограждений.После завершения он начинает использовать буфер для рисования.
Мой вопрос сейчас таков: повлияет ли glBufferData
в рабочем потоке на производительность основного потока рендеринга каким-либо образом?Например, будет ли очистка / завершение в главном потоке рендеринга причиной синхронной загрузки буфера и остановка всего конвейера, даже если поток рендеринга не использует его для рисования?