2008-12-12 4 views
0

Je viens de commencer à utiliser QPixmapCache et je me demandais, puisqu'il n'y a pas beaucoup de documentation, sur la façon d'ajuster la taille en fonction du système sur lequel s'exécute l'application.Comment définir l'idéal QPixmapCache :: cacheLimit?

Certains utilisateurs peuvent avoir beaucoup de mémoire libre tandis que d'autres en ont très peu. Je n'ai aucune idée du meilleur réglage.

Quelle serait la meilleure façon de détecter la RAM (libre) du système et d'ajuster la taille de la mémoire cache?

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

Répondre

1

Pour détecter RAM sous Windows, vous pouvez utiliser la fonction GlobalMemoryStatus.

Je ne suis pas sûr si cela vous aidera à dimensionner le cache de pixmap; peut-être devrez-vous effectuer des mesures de performances et créer une table de correspondance.

0

Notez que QPixmap est spécifique au système de fenêtrage. Cela signifie que QPixmap correspond probablement plus à la mémoire de la carte graphique qu'à la RAM générale. Comme n'importe quel autre cache, sa taille devrait être «autant que nécessaire, mais pas plus». La meilleure façon de régler le cache est de profiler votre application s'exécutant sur une machine typique (des utilisateurs cibles). Voyez si le cache commence à détruire les anciens pixmaps et à obtenir des échecs de cache.

Questions connexes