为啥买CPU要注重单核性能:游戏软件多核优化起来很

2025-04-05 03:54:55
推荐回答(2个)
回答1:

单核的性能高,速度更加流畅

  • CPU大小核设计,在切换的时候会有时钟延迟的问题                                                        CPU 大小核设计会使手机卡顿                                                                                         之所以苹果的运行速度流畅,是因为有两个超高性能的核心,所以未来手机研发专家会注重手机单核的开发                                                   

回答2:

多核优化或者说多线程优化说起来容易,很多键盘高手也都会动不动扯上多核优化,其实真正写过程序的人就知道这不仅是一件麻烦的事情而已。
举个例子(不管你有没有写过程序都可以看懂),假定有两件事情需要去做。
第一件事情:
去买一斤苹果。
第二件事情:
把买来的苹果吃掉。
请问这两件事情如果交给两个人分别去做,是不是可以获得速度上的提升呢?
答案:不是,因为这两件事情不可并行,它是有先后顺序的。
把这两件事情当成一个软件中的两段程序,如果你使用两个线程分别去执行它,那么线程乙必须等待线程甲执行完成再去执行,那么为什么不直接让单个线程按顺序把两件事情都完成呢?——没有任何写成多线程的价值。
而当两件事情是这样子:
第一件事情:
去买一斤苹果
第二件事情:
去把自行车的车胎修好
这时候写成多线程可以获得0损失的多线程并行获益。
而事实上程序员面对的事情远没有这么简单,只做一件事情,但是由两个人去做:
吃掉10个苹果
很多群众又要说了,这太TM简单了
然而对于程序员而言,两个线程如果分别执行吃苹果,那么它们的数量10时都需要终止,可是你并不能控制两个线程以 甲吃一个、乙吃一个、甲吃一个、乙吃一个的有序规律去执行,现实情况往往是这样子:
甲吃一个 甲吃一个 乙吃一个 甲吃一个 乙吃一个 乙吃一个……
同时甲不知道乙吃了几个,乙也不知道甲吃了几个——要怎么去完成加起来10个的目标?
也许当你想刹车时两个人加起来吃了11个。
在程序当中,一个未被估计到的错误数值往往会导致整个程序的崩溃。
避免完全不可控,这时候还需要线程同步来确保执行结果的正确性(这部分协同也是需要消耗一定性能的),这时候就会发现如果单个线程的能力是100,两个线程的能力却只有120,并不是键盘侠们强行多核全开让程序员们去优化想得那么简单。
——一个程序当中,相当多的部分是不可并行的;即使可并行,也不一定能获得理想的性能提升。
因此多线程有没有用?
当然有用,但是一定是基于足够强大的单个核心来组成,所以我们必须强调单核性能的重要性。