Странное использование памяти SDL в зависимости от бит на пиксель

У меня есть очень простая программа SDL, которая использует только 1 МБ памяти с 32 битами на пиксель, 2,4 МБ с 24 битами на пиксель, 1,9 МБ с 16 битами на пиксель и 1,4 МБ с 8 битами на пиксель. что за странное использование памяти? почему большинство бит на пиксель занимают наименьшее количество памяти?

C++ GCC

Спасибо

1 ответ

Решение

Возможно внутренние конверсионные буферы. Если ваш bpp поверхности не соответствует вашей аппаратной поверхности, вам может потребоваться сохранить полный буфер в памяти, в то время как SDL может использовать эту поверхность напрямую, в противном случае. Это просто догадка.

Но просмотр процесса в топ-менеджере или диспетчере задач может быть не лучшим способом понять, что использует память. Если вы работаете в Linux, вы можете попробовать такой инструмент, как valgrind, чтобы получить очень хорошее представление о том, куда идет память.

Другие вопросы по тегам