Если ваше приложение «создает данные медленно, но потребляет их быстро», это ограничит выгоды, которые вы можете получить от двойной буферизации.
Если для создания буфера, заполненного данными, требуется 10 секунд, а для его использования - 1 секунда, двойная буферизация может увеличить вашу пропускную способность на 10%, но если на создание и использование обоих потребуется одинаковое количество времени, двойная буферизация может удвоить пропускную способность.
Например:
- Время_ производства = 10 секунд
- потребление_время = 1 секунда
- количество буферов = 100
последовательная обработка = 100 * (10 + 1) = 1100 секунд
с двойной буферизацией = 100 * 10 = 1000 секунд
Но, если мы изменим параметры, потребляем время = 10 секунд:
последовательная обработка = 100 * (10 + 10) = 2000 секунд
с двойной буферизацией = 100 * 10 = 1000 секунд