Russian Qt Forum

Программирование => Общий => Тема начата: Igors от Апрель 10, 2021, 11:54



Название: QCache
Отправлено: Igors от Апрель 10, 2021, 11:54
Добрый день

Требуется избежать пере-аллокаций буферов что на некоторых картах заметно тормозит. На первый взгляд все просто

QCache<int, QOpenGLBuffer> m_cache;

Где ключ - размер буфера. Смотрим есть ли буфер такого размера в кеше. Да - заряжаем в него новые данные рисования, нет - сначала создаем новый буфер и в кеш его. Увы, не годится: в рамках одной команды рисования может потребоваться 2 и более буферов одного размера. Вот когда команда завершилась - пожалуйста, юзайте буфер(а) для следующей команды. Как побороть?

Спасибо