我刚刚开始使用 QPixmapCache,我想知道,因为没有太多文档,关于如何根据应用程序运行的系统调整大小。
一些用户可能有很多可用内存,而另一些用户则很少。我不知道最好的设置是什么。
检测系统(空闲)RAM 并调整缓存大小以适应的最佳方法是什么?
http://doc.trolltech.com/4.4/qpixmapcache.html#setCacheLimit
我刚刚开始使用 QPixmapCache,我想知道,因为没有太多文档,关于如何根据应用程序运行的系统调整大小。
一些用户可能有很多可用内存,而另一些用户则很少。我不知道最好的设置是什么。
检测系统(空闲)RAM 并调整缓存大小以适应的最佳方法是什么?
http://doc.trolltech.com/4.4/qpixmapcache.html#setCacheLimit
要检测 Windows 中的空闲 RAM,可以使用GlobalMemoryStatus函数。
我不确定这是否会帮助您调整像素图缓存的大小;也许您需要进行一些性能测量并创建一个查找表。
请注意,QPixmap 是特定于窗口系统的。这意味着 QPixmap 可能比一般 RAM 更多地对应于显卡内存。就像任何其他缓存一样,它的大小应该“尽可能多,但不能更多”。
调整缓存的最佳方法是分析您在(目标用户的)典型机器上运行的应用程序。查看缓存是否开始丢弃旧的像素图并获得缓存未命中。