Как мне установить идеальный QPixmapCache :: cacheLimit?

Я только начал использовать QPixmapCache, и мне было интересно, поскольку документации не так много, как отрегулировать размер в зависимости от системы, в которой работает приложение.

У некоторых пользователей может быть много свободной памяти, а у других очень мало. Я понятия не имею, какой будет лучшая обстановка.

Как лучше всего определить системную (свободную) оперативную память и отрегулировать размер кеша по размеру?

http://doc.trolltech.com/4.4/qpixmapcache.html#setCacheLimit

12.12.2008 15:55:07
2 ОТВЕТА
РЕШЕНИЕ

Чтобы обнаружить свободную оперативную память в Windows, вы можете использовать функцию GlobalMemoryStatus .

Я не уверен, поможет ли это вам увеличить размер кэша растровых изображений; возможно, вам нужно будет сделать некоторые измерения производительности и создать таблицу соответствия.

1
13.12.2008 04:08:23

Обратите внимание, что QPixmap зависит от оконной системы. Это означает, что QPixmap скорее всего соответствует памяти графической карты больше, чем общая оперативная память. Как и любой другой кеш, его размер должен «быть таким, каким он должен быть, но не более».

Лучший способ настроить кэш - это профилировать приложение, работающее на типичном компьютере (целевых пользователей). Посмотрите, не начинает ли кэш выводить старые растровые изображения и получать его ошибки.

0
31.03.2009 23:10:16