模拟飞行吧 关注:46,377贴子:855,715

【17-06-03-讨论】一个小操作,让你的P3D更上一层楼!

只看楼主收藏回复

前排声明:本文由SINO1780撰写,本人经授权进行搬运与改写,本文中所有数据及图片仅供参考。本文所有权利归FlyerBay评测室所有。


什么是多核优化?
Prepar3D v4以及之前所有版本,包括FSX,在运行时(高分辨率贴图、高画面设定、复杂场景),如果打开任务管理器监视你的CPU负载情况,你便会看到4个或8个线程中,只有一个线程是几乎满负载运行,其它线程维持在一个较低的负载水平。这便是被人诟病良久的“屎一般的多核优化”,很多人将其归结于程序本身硬伤,尽管现在流传了很多个版本的优化方法,比如设置affinity masks为255等,但效果都不是很理想。那么接下来,我将教你一个简单的方法,将负载均匀分配到每一个核心上,实现真正的多核优化。

一核有难,多核围观

相对均衡的负载
注意!
本文接下来要介绍的方法,是通过Flyerbay评测室多次测试后总结出来的最完善的方法,但并不代表能适用于所有人!为了达到最好的效果,我们建议您的平台配置至少为:

操作系统:Windows 10 (1703)
处理器:Intel Core 四代或以上 i3/i5/i7 | AMD Ryzen 5/Ryzen 7
游戏版本:Prepar 3D v3/v4

虽然负载均衡后可以提高游戏帧数,但并不意味着能够凭空获得十几帧的提升,提升幅度由系统配置决定。若您认为使用此方法后没有提升或提升不明显(低于3帧),请在下方回复,附上系统配置及联系方式,这将有助于我们进一步优化。
若有Ryzen R7-1700X及以上的飞友试过之后也可将配置信息以及操作前后Fraps帧数测试成绩发在回复中。
那么开始吧。
方法
1、运行P3D主程序,载入场景,等待加载完毕
2、打开任务管理器,选择“性能”选项卡,监视CPU运行情况。若只有一个框框,请右键——将图形变更为——逻辑处理器。
3、此时应该可以看到几个线程中,有一个线程的利用率明显高于其它线程,鼠标放在这个线程上,记下它的编号(如CPU 0)
4、回到“进程”选项卡,找到Prepar3D.exe,右键——转到详细信息,再次右键——设置相关性,将刚才记下的那个线程关闭,确定。
5、等待3秒左右,右键——设置相关性,再把关闭的那个线程勾上,确定。
6、(重要)再次右键——设置优先级,选择高或实时,确定。
7、回到“性能”选项卡,此时的CPU负载应该已经均衡了。
值得一提的是,这个方法是一次性的,也就是每次打开游戏都要按照上面的方法操作一遍。
另外:第6步必须进行,如果不进行,是不会有帧数的提升的。


如有疑问/建议,请有礼貌地提出。我们很享受讨论的氛围,也虚心接受指正。但不欢迎冷嘲热讽。



本楼含有高级字体1楼2017-06-03 22:41回复
    另,经过谷歌后。我们发现之前有屏蔽core0和设置优先级的相关方法,我们也在FSX平台做了一些小实验(当然变量控制可能不是那么严格)。单纯地屏蔽core0确实可以改善CPU的负载情况,但是对于CPU的占用提升幅度还是有限的,对于较复杂场景的利用率响应也有一定瓶颈;而单纯设置优先级则不能很好地平衡CPU各线程间负载。对于一些性能较差的CPU,如双核双线程CPU或双核四线程的CPU,如果线程被全部吃满,我们更推荐只更改优先级。


    2楼2017-06-03 22:48
    回复
      技术党


      IP属地:广东3楼2017-06-03 22:53
      回复
        你们在sino发的帖有人说了跟这个差不多的方法,到底什么情况?


        IP属地:陕西来自Android客户端4楼2017-06-03 22:54
        收起回复
          先顶再试


          来自Android客户端5楼2017-06-03 22:56
          收起回复
            好贴已收藏当然我不可能随便做无意义回复的是吧
            入正题(其实是想要请教)
            请教一下,如果通过这种方式让P3D V4吃满了所有线程,那这么说的话AMD RyZen中诸如1700X这种8C16T甚至更高版本,能吊打I家现在77k咯?


            IP属地:广东来自Android客户端6楼2017-06-03 23:04
            收起回复
              推荐一个免费软件,Process Lasso
              ,免费的
              可以免除以上所有的操作并帮你自动控制各个线程的负载。步骤很简单,就把你的进程改成“需要高性能”就好了。
              FSX上,i3,效果很明显,帧数可以提高1~4,但莫名其妙的卡顿没有了。
              据我所知P3D可用,因为之前sino上有人发过,不过没什么人关注。
              该软件还可以减少你的其他程序的假死几率哦


              IP属地:上海来自iPhone客户端7楼2017-06-03 23:15
              收起回复
                那现在ryzen在p3d上表现比7700k更好了?


                来自Android客户端8楼2017-06-04 00:24
                收起回复
                  吊了三天的胃口,被我直接猜中


                  IP属地:浙江来自Android客户端9楼2017-06-04 08:24
                  收起回复
                    回头试试看


                    IP属地:奥地利来自Android客户端10楼2017-06-04 18:03
                    回复
                      已收藏,谢谢楼主


                      来自Android客户端11楼2017-06-04 20:08
                      回复
                        吼哇
                        论为啥我的i5 6300hq在EDDF,P738下提了10FPS,是不是我那破U的单核之前拖帧太多了


                        IP属地:重庆12楼2017-06-04 20:50
                        回复
                          目前感觉帧数尚可,能避免OOM才是最大的心愿


                          IP属地:江苏来自iPhone客户端13楼2017-06-05 21:35
                          回复
                            http://bbs.sinofsx.com/forum.php?mod=viewthread&tid=169203
                            https://tieba.baidu.com/p/4971613623
                            早就跟楼主讨论过CPU多线程的话题
                            http://bbs.sinofsx.com/forum.php?mod=viewthread&tid=166714&page=4#pid1262308
                            我提到过core0的问题,方法和一个个调用无本质区别。如果你觉得一个个调用可以提高帧数,那我只能讲这是你自己的一厢情愿。事实上均分负荷到各个核心是不会提高帧数的,它解决的是最低帧的问题以及地景渲染的速度。很多时候感觉到的流畅度提升,只是心理作用。


                            IP属地:浙江14楼2017-06-06 12:24
                            回复
                              这么操作以后负载平衡了,P3D也掉了10帧???


                              IP属地:上海来自iPhone客户端15楼2017-06-06 14:16
                              回复