Nier
2021-11-12T06:02:26+00:00
比如我的是cpu5900x,现在开一个游戏和一个obs。
然后单独分6核给游戏,再单独分另外6核给obs
那么这种情况跟游戏和obs一起用12核有多大区别
[s:ac:咦][s:ac:咦]
你分核数是1:1,问题是游戏和obs的真实负载不是1:1吧。
游戏和obs加一起用12核,靠着系统调度理论上来说会更好一些。
手动分核心只在系统自动分配有问题的时候才好用,zen123 修修补补这么多年,不同核调度的问题基本上修的差不多了,没必要手动指定相关性。
你自己写的进程池, 没有其他乱七八糟的吃性能的进程去干扰, 绑定不同的CPU核心亲和度可以减少系统在不同核心间的切换, 极限情况下是可以提高一点性能的
但是我感觉你跑这些, 可能感知不强.......
确实是有obs的教程里让人从任务管理器分核心用,但我都是让系统自己调度
windows处理多任务是按时间轮分配的 CPU的每个核心在处理一定时间后 就会先保存当前线程的信息(缓存寄存器分页之类) 再载入下一个线程的信息并处理 期间会产生一定的性能损失
比如1700X 有时我会把游戏分配给CPU0-7 其它进程都给8-15 这样不仅减少了其他线程混入游戏线程造成的性能损失 还可以让游戏独占一个CCX的L3缓存(只有zen1、2有这个问题) 进一步提高游戏性能
[quote][pid=567688337,29530134,1]Reply[/pid] Post by [uid=1698382]死寂天空[/uid] (2021-11-21 14:29):
windows处理多任务是按时间轮分配的 CPU的每个核心在处理一定时间后 就会先保存当前线程的信息(缓存寄存器分页之类) 再载入下一个线程的信息并处理 期间会产生一定的性能损失
比如1700X 有时我会把游戏分配给CPU0-7 其它进程都给8-15 这样不仅减少了其他线程混入游戏线程造成的性能损失 还可以让游戏独占一个CCX的L3缓存(只有zen1、2有这个问题) 进一步提高游戏性能[/quote]好的,感谢[s:ac:blink][s:ac:blink]
没有意义。。。操作系统内存,cpu,以及独占资源的管理比你想的复杂的太多,现在弄个自己分配只是说明,调度更不好搞。
还有的软件自己管理cpu分配,典型各种转码软件,软件开发者对任务的熟悉程度绝对是比使用者更了解。
我建议看一下一本书,叫做操作系统。
操作系统的最基本的核心就是进程的时间片管理。
单独分配给个软件也不是说没有意义,但可能需要在linux下实现。
感觉这种方式是花一倍的精力去换取1%不到的增益,还增加了不稳定的因素,操作系统跑起来这么多环节,随便哪个有点问题可能带来的麻烦