
除了 *** 作系统之外,要在Linux游戏平台上玩“古墓丽影:20年庆典”游戏,您至少应该配备一块IntelCorei3-4130T或AMD同等处理器,配备8GB内存和2GBAMDRadeonR9285(GCN第三代及以上)或2GBNvidiaGeForceGTX680或更好的显卡。
为了获得最佳的游戏体验,FeralInteractive推荐使用IntelCorei7-3770K处理器,12GB内存和NvidiaGeForceGTX980Ti显卡的计算机。请注意,不支持英特尔显卡,也不支持AMDRadeonGCN第1代和第2代显卡
还应该注意的是,该游戏需要安装下一代Vulkan图形API,专用于NvidiaGPU的Nvidia396.18或更高版本图形驱动程序,支持AMDRadeonGPU的开源Mesa17.3.5图形库或更高版本,作为以及用于RadeonVegaGPU的Mesa18.0或更高版本,以及大约28GB的可用磁盘空间
最近又出现了一个问题:同样的一个C程序,在同样的数据集,单线程,在不同的机器上跑,性能差距高达30倍以上(30s/1000s)。程序内存消耗不足300MB,数据集大小近100GB。
这两台机器的配置分别是:
分别称A和B机器。
从主频来看,B机器的CPU反而更高一些(查阅CPU天梯表,Core i7型号的CPU跑分也高一些)。
那么问题应该出在内存上。通过free -h命令查看内存使用情况,发现A机器RAM的 buffered/cached 高达100GB以上。这立即引起了我的警觉,会不会是数据集被缓存进了系统内存?
于是释放缓存(syncecho 3 >/proc/sys/vm/drop_caches)
然后再执行程序,好了,A机器执行无比缓慢。
究其原因,我的程序是一个基于索引的查询算法,这个程序刚好运行在索引构建算法之后,因此查询时涉及到的源数据访问,全都在索引构建算法的访问范围之内,因此被缓存进内存。
这也提了个醒,任何比较效率的算法,首先要在程序运行前清空缓存,否则不能反映真实情况,因为I/O的代价可能都变成了内存访问,使得结果过于乐观。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)