本帖最后由 sopebird 于 2018-1-4 11:18 编辑
以下要介绍的,是最近几个月以来,我亲测能够充分挖掘电脑性能,使P3D更加流畅的两个优化。注意,是更加流畅!你的P3D能运行到什么程度(画质,帧率)还是取决于硬件性能。
这两个优化其他人在不同的地方都分别提到过,发这个帖,是想根据个人理解和试验纠正一些误区,欢迎跟帖讨论。
我的硬件:
Alienware 15R3,i7-6820HK @ 4.0Ghz,GTX 1070,16GB DDR4 2133Ghz RAM,P3D安装在256GBSAMSUNG SM961,4K屏
我的软件:
P3D V3.4(中等画质,AI关,4K分辨率运行),AS16,ChasePlane,测试使用PMDG747 V3、AerosoftEDDF、T2GLFPG
1. 使用NvidiaProfile Inspector锁定P3D运行帧率
关于是否要锁定帧率,很多人持不同意见。但是根据以往的经验,即使硬件配置很高,如果不锁帧率,卡顿也是难以避免的。比如某些场景从大多数时候的60多帧突然降到20多帧,即使是不到一秒钟,这种卡顿也非常破坏沉浸感。所以,我认为不应该看运行的最高帧率,而是看能够持续稳定的帧率。对于P3D来说,因为多数人偏重航线飞行,30帧其实已经足够了。
然而,P3D内置的帧率设置会非常诡异地导致卡顿!逛了很久的国外论坛,有人提到了使用外置锁频软件。对于N卡来说可以是NvidiaProfile Inspector。如下图,锁定30.5帧,然后P3D设置内帧率略微高于30.5帧即可,我设置成了31帧。实测表明这样可以非常有保证地稳定帧率。
2. 使用ProcessLasso设置CPUaffinity
P3D的很多设置入门里提到需要在P3D.cfg中通过AffinityMask=n这行语句来设置CPUaffinity,还鼓励大家根据自己的硬件尝试不同的值。我玩了好几年,一直对这项优化深信不疑,而且自己根据理论和试验尝试了不同的值,最终还是设置为84。
然而,某次在YouTube上看到一位X-plane玩家的建议,决定试一试早就知道却从未好好尝试的ProcessLasso这个免费软件。做法比较极端,但是非常符合逻辑:首先,删除掉P3D.cfg里的AffinityMask=n!如下图,对于4核cpu来说,把第一个核(thread0-1)分配给除P3D以外的所有系统程序和软件(比如AS16和ChasePlane),把剩下的3个核(thread2-7)全部分给P3D用,然后设置P3D为游戏类高性能应用。
实测证明,这样的资源调用可以保证P3D运行得相当流畅,至少在我的电脑上,比任何AffinityMask=X都有效,而且不会显著增加CPU发热。我的测试主要是PMDG747 V3飞Aerosoft法兰克福本场和T2G戴高乐本场,优化效果让我极其满意,再也不用担心一个转弯或掉头导致的瞬间卡顿或者烦人的micro-stutters。
都说P3D多核优化不好,然而,事实是,多核似乎有利于P3D运行得更稳定,虽然关键还是要看单核性能。
以上两个优化都是免费的,感兴趣的可以尝试。我不是软硬件专家,无法完全解释其中的某些机制,基本都是经验,欢迎跟帖讨论。
贴几张图证明我最近还在飞:
20171004更新: 最近几天安装更新了P3D V4,仍然使用上述优化方法,发现V4的CPU多线程使用能力有提升。 经过试验,使用Process Lasso 将P3D exe 的CPU Affinity设置为0-7(8个线程随便用),其它应用设置为6-7(不知为何,包括P3D在内的应用都偏好使用0-1,为了让P3D更好地跑,因此将0-1尽量完全让给P3D),在我的电脑上可以发挥最好的性能。举个例子,有一次忘了开Process Lasso,结果在Aerosoft EGLL卡成幻灯片,退出后打开Process Lasso 重新飞,VC帧率才能稳定在26-31帧。 如下图,P3DV4,FTX Global Base,Aerosoft EGLL,PMDG777,ChasePlane,Active Sky for P3D V4,画质中高。(电脑性能测试飞行,请不要对飞机警报过分关注)
|