这题真的很大,我意识流答题,想到什么说什么,抛砖引玉。如果说的不对,请大家指正。最后部分放上一个实用技巧。单核游戏的问题真的也困扰我很久了,我也长期忍受单核游戏后期糟糕系能带来的负面体验。其实,厂家自身都是希望让游戏体验更好的,但是迫于下面这么几点,无奈放任一核有难多核围观。编程难度指数上升多线程的编程与BUG的troubleshoot难度的增长不是倍数,而是指数。简单说,二线线程的难度是单线程难度的四倍而不是两倍,三线程难度是单线程的八倍而不是三倍。参照人脑进化结果人脑是单线程的,我们的大脑同一个时间真真意义上只能想一件事。最简单的例子,很少有人能同一时间左手画圆,右手画方,不信大家试试,反正我不行。人脑都很难做这事了,别说游戏这种强相关,强互交的事情交给不同线程分工并行合作了。因果律游戏的逻辑是线性的,同时也遵从因果律,所以你做多线程的时候,很难硬生生地把几个原本需要遵从时间规律的逻辑硬拆到两个核心里面去执行。打个比方,两个人要用石头剪刀布决出胜负,然后再确定下一轮行动,而某个游戏比如环世界,他就需要10万个简单石头布的连续叠加才会有结果,你说把这十万个剪刀石头布的步骤分散到8个核心有意义吗?第二个步骤永远要取决与前一次石头剪刀布的结果,说专业点这个词叫做“时序”。以下面环世界后期的游戏状态做个例子,在后期你要考虑几百个动物的独立状态,几十个小人每个小人身上独立几百个参数,这些你都要考虑资源是否接受同步,是否支持异步,是否会锁死,是否有冲突,这时候你的大脑要去搞定这些问题,发烧的不再是CPU,而是大脑了。另外,不同CPU架构的优化方式也是不同的,酷睿啊,AMD,E系列等等,如果这个游戏要做多线程优化,就要同时针对几套CPU做不同的优化。经济效益再是一个现实原因,那就是成本效应。其实前面的原因都可以归结成这一点,毕竟经济学可以解释和钱相关的一切。游戏制作是需要成本的,而且游戏开发成本非常高,Steam平台上70%的游戏制作者只能勉强糊口,游戏市场的利润基本被顶部游戏商占领了。大厂追求效率,小厂追求保本,毕竟爆款每年就这么几个。这样的商业环境决定了,没有任何一个游戏厂商会为了做多线程优化,去投入大量的资金,这只能是一个倒贴的事。制作游戏本身是一种商业行为,成本效应肯定要摆在最前面,经济决定方向。这里可以插一个很有趣的计算机软件史上的故事。在以前存储是很贵的,所以极客程序员会以能做出更小体积但保证功能的程序为傲。比如说,他们可以写出一个只有32KB的3D第一人称射击游戏。比如,他们可以为了提升2%的压缩率,然后拼命研发新的算法。但现在呢,作为甲方,我看到乙方交付一个只有2M的软件时会说一句“辣鸡”,然后强行逼迫乙方把原本可能2M就够的软件,掺杂垃圾数据强行增加到20M,然后说一句舒服。作为游戏玩家,我看到一个游戏只有200M,我会说“辣鸡”(后来环世界治好了我这个病),看到一个游戏20G,我会说“可以,有内容”。所以,同样的道理也可以延伸到多线程优化,不是不肯做,而是这么做的意义会被硬件的稳定提升所淹没。玩家玩的卡的时候,心里面大多数还是会认为是自己电脑性能的锅。一个技巧最后,给大家一个小技巧。有个软件叫做CPUCores :: Maximize Your FPS。我在这里要收回以前的偏见,以前我在一个问答里说这个软件的作用,安慰剂效应大于实际效应,那其实是我没用对地方。这个软件对单线程游戏恰恰有奇效。虽然,他不能帮你把任务分配到其他内核,但是这个软件却能保证你用于游戏的内核,不被其他任务打扰,可以说变向提高了单线程游戏的表现。这题真的很大,我意识流答题,想到什么说什么,抛砖引玉。如果说的不对,请大家指正。最后部分放上一个实用技巧。单核游戏的问题真的也困扰我很久了,我也长期忍受单核游戏后期糟糕系能带来的负面体验。其实,厂家自身都是希望让游戏体验更好的,但是迫于下面这么几点,无奈放任一核有难多核围观。编程难度指数上升多线程的编程与BUG的troubleshoot难度的增长不是倍数,而是指数。简单说,二线线程的难度是单线程难度的四倍而不是两倍,三线程难度是单线程的八倍而不是三倍。参照人脑进化结果人脑是单线程的,我们的大脑同一个时间真真意义上只能想一件事。最简单的例子,很少有人能同一时间左手画圆,右手画方,不信大家试试,反正我不行。人脑都很难做这事了,别说游戏这种强相关,强互交的事情交给不同线程分工并行合作了。因果律游戏的逻辑是线性的,同时也遵从因果律,所以你做多线程的时候,很难硬生生地把几个原本需要遵从时间规律的逻辑硬拆到两个核心里面去执行。打个比方,两个人要用石头剪刀布决出胜负,然后再确定下一轮行动,而某个游戏比如环世界,他就需要10万个简单石头布的连续叠加才会有结果,你说把这十万个剪刀石头布的步骤分散到8个核心有意义吗?第二个步骤永远要取决与前一次石头剪刀布的结果,说专业点这个词叫做“时序”。以下面环世界后期的游戏状态做个例子,在后期你要考虑几百个动物的独立状态,几十个小人每个小人身上独立几百个参数,这些你都要考虑资源是否接受同步,是否支持异步,是否会锁死,是否有冲突,这时候你的大脑要去搞定这些问题,发烧的不再是CPU,而是大脑了。另外,不同CPU架构的优化方式也是不同的,酷睿啊,AMD,E系列等等,如果这个游戏要做多线程优化,就要同时针对几套CPU做不同的优化。经济效益再是一个现实原因,那就是成本效应。其实前面的原因都可以归结成这一点,毕竟经济学可以解释和钱相关的一切。游戏制作是需要成本的,而且游戏开发成本非常高,Steam平台上70%的游戏制作者只能勉强糊口,游戏市场的利润基本被顶部游戏商占领了。大厂追求效率,小厂追求保本,毕竟爆款每年就这么几个。这样的商业环境决定了,没有任何一个游戏厂商会为了做多线程优化,去投入大量的资金,这只能是一个倒贴的事。制作游戏本身是一种商业行为,成本效应肯定要摆在最前面,经济决定方向。这里可以插一个很有趣的计算机软件史上的故事。在以前存储是很贵的,所以极客程序员会以能做出更小体积但保证功能的程序为傲。比如说,他们可以写出一个只有32KB的3D第一人称射击游戏。比如,他们可以为了提升2%的压缩率,然后拼命研发新的算法。但现在呢,作为甲方,我看到乙方交付一个只有2M的软件时会说一句“辣鸡”,然后强行逼迫乙方把原本可能2M就够的软件,掺杂垃圾数据强行增加到20M,然后说一句舒服。作为游戏玩家,我看到一个游戏只有200M,我会说“辣鸡”(后来环世界治好了我这个病),看到一个游戏20G,我会说“可以,有内容”。所以,同样的道理也可以延伸到多线程优化,不是不肯做,而是这么做的意义会被硬件的稳定提升所淹没。玩家玩的卡的时候,心里面大多数还是会认为是自己电脑性能的锅。一个技巧最后,给大家一个小技巧。有个软件叫做CPUCores :: Maximize Your FPS。我在这里要收回以前的偏见,以前我在一个问答里说这个软件的作用,安慰剂效应大于实际效应,那其实是我没用对地方。这个软件对单线程游戏恰恰有奇效。虽然,他不能帮你把任务分配到其他内核,但是这个软件却能保证你用于游戏的内核,不被其他任务打扰,可以说变向提高了单线程游戏的表现。我们在选购电脑的时候,经常会听到一些“几核几线程CPU”的术语,比如四核八线程,八核十六线程之类的,那么这个所谓的几个核心和线程都是什么意思呢?请看下面介绍。CPU的“几核几线程”是什么意思?一、CPU核心介绍CPU的核心数是指内部拥有几个物理内核,每个内核都可以当做一个单核CPU来看待,双核CPU就相当于有两套硬件资源组合在了一个盒子里面,这个核心数理解起来还是挺容易的,比较难理解的是线程数,请看下面。二、CPU线程介绍CPU拥有几线程原本是和核心数相对应的,即CPU有几个核心就有几个线程,但英特尔公司在2002年发布了一种超线程技术,它是通过特殊的硬件指令将一个CPU内核模拟成两个逻辑核心来使用,这样在处理一些多线程任务时,可以实现数据的并行处理,大大的提高运算效率,使CPU的性能发挥的更加彻底。但模拟出来的核心毕竟不是真正的物理核心,总体性能还是不如真正的多核心CPU。三、通俗的理解CPU核心和线程上面所说可能并不是那么好理解,我们下面再以一种通俗的方式让大家加深了解一下,请看下面:我们可以把CPU核心比喻成一套维修工具,里面有万用表、螺丝刀、扳手等,拥有几个核心就代表有拥有几套工具,而线程数则代表是几个人干活,正常情况下是一个人拿一套工具干活,资源都是独立的。而超线程技术则相当于是两个人使用一套工具干活,一个人使用螺丝刀,一个人使用扳手,资源是共享的,这样下来工作效率就提高了不少,但有时候也会出现两个人同时使用螺丝刀的现象,这就需要一个人用完另一个人再去使用,会有一定的等待时间,所以总体的效率虽然要高于一个人使用一套工具干活,但还是比不上两个人各配一套工具来的快。看完上面的解释,应该能明白核心和线程的意思了吧,需要说明的是,超线程还需要主板、系统以及应用软件的支持才能发挥作用,而我们一般的上网大多都是单线程的,所以超线程技术的应用范围有限,大多集中在图形或视频处理等专业领域。这题真的很大,我意识流答题,想到什么说什么,抛砖引玉。如果说的不对,请大家指正。最后部分放上一个实用技巧。单核游戏的问题真的也困扰我很久了,我也长期忍受单核游戏后期糟糕系能带来的负面体验。其实,厂家自身都是希望让游戏体验更好的,但是迫于下面这么几点,无奈放任一核有难多核围观。编程难度指数上升多线程的编程与BUG的troubleshoot难度的增长不是倍数,而是指数。简单说,二线线程的难度是单线程难度的四倍而不是两倍,三线程难度是单线程的八倍而不是三倍。参照人脑进化结果人脑是单线程的,我们的大脑同一个时间真真意义上只能想一件事。最简单的例子,很少有人能同一时间左手画圆,右手画方,不信大家试试,反正我不行。人脑都很难做这事了,别说游戏这种强相关,强互交的事情交给不同线程分工并行合作了。因果律游戏的逻辑是线性的,同时也遵从因果律,所以你做多线程的时候,很难硬生生地把几个原本需要遵从时间规律的逻辑硬拆到两个核心里面去执行。打个比方,两个人要用石头剪刀布决出胜负,然后再确定下一轮行动,而某个游戏比如环世界,他就需要10万个简单石头布的连续叠加才会有结果,你说把这十万个剪刀石头布的步骤分散到8个核心有意义吗?第二个步骤永远要取决与前一次石头剪刀布的结果,说专业点这个词叫做“时序”。以下面环世界后期的游戏状态做个例子,在后期你要考虑几百个动物的独立状态,几十个小人每个小人身上独立几百个参数,这些你都要考虑资源是否接受同步,是否支持异步,是否会锁死,是否有冲突,这时候你的大脑要去搞定这些问题,发烧的不再是CPU,而是大脑了。另外,不同CPU架构的优化方式也是不同的,酷睿啊,AMD,E系列等等,如果这个游戏要做多线程优化,就要同时针对几套CPU做不同的优化。经济效益再是一个现实原因,那就是成本效应。其实前面的原因都可以归结成这一点,毕竟经济学可以解释和钱相关的一切。游戏制作是需要成本的,而且游戏开发成本非常高,Steam平台上70%的游戏制作者只能勉强糊口,游戏市场的利润基本被顶部游戏商占领了。大厂追求效率,小厂追求保本,毕竟爆款每年就这么几个。这样的商业环境决定了,没有任何一个游戏厂商会为了做多线程优化,去投入大量的资金,这只能是一个倒贴的事。制作游戏本身是一种商业行为,成本效应肯定要摆在最前面,经济决定方向。这里可以插一个很有趣的计算机软件史上的故事。在以前存储是很贵的,所以极客程序员会以能做出更小体积但保证功能的程序为傲。比如说,他们可以写出一个只有32KB的3D第一人称射击游戏。比如,他们可以为了提升2%的压缩率,然后拼命研发新的算法。但现在呢,作为甲方,我看到乙方交付一个只有2M的软件时会说一句“辣鸡”,然后强行逼迫乙方把原本可能2M就够的软件,掺杂垃圾数据强行增加到20M,然后说一句舒服。作为游戏玩家,我看到一个游戏只有200M,我会说“辣鸡”(后来环世界治好了我这个病),看到一个游戏20G,我会说“可以,有内容”。所以,同样的道理也可以延伸到多线程优化,不是不肯做,而是这么做的意义会被硬件的稳定提升所淹没。玩家玩的卡的时候,心里面大多数还是会认为是自己电脑性能的锅。一个技巧最后,给大家一个小技巧。有个软件叫做CPUCores :: Maximize Your FPS。我在这里要收回以前的偏见,以前我在一个问答里说这个软件的作用,安慰剂效应大于实际效应,那其实是我没用对地方。这个软件对单线程游戏恰恰有奇效。虽然,他不能帮你把任务分配到其他内核,但是这个软件却能保证你用于游戏的内核,不被其他任务打扰,可以说变向提高了单线程游戏的表现。我们在选购电脑的时候,经常会听到一些“几核几线程CPU”的术语,比如四核八线程,八核十六线程之类的,那么这个所谓的几个核心和线程都是什么意思呢?请看下面介绍。CPU的“几核几线程”是什么意思?一、CPU核心介绍CPU的核心数是指内部拥有几个物理内核,每个内核都可以当做一个单核CPU来看待,双核CPU就相当于有两套硬件资源组合在了一个盒子里面,这个核心数理解起来还是挺容易的,比较难理解的是线程数,请看下面。二、CPU线程介绍CPU拥有几线程原本是和核心数相对应的,即CPU有几个核心就有几个线程,但英特尔公司在2002年发布了一种超线程技术,它是通过特殊的硬件指令将一个CPU内核模拟成两个逻辑核心来使用,这样在处理一些多线程任务时,可以实现数据的并行处理,大大的提高运算效率,使CPU的性能发挥的更加彻底。但模拟出来的核心毕竟不是真正的物理核心,总体性能还是不如真正的多核心CPU。三、通俗的理解CPU核心和线程上面所说可能并不是那么好理解,我们下面再以一种通俗的方式让大家加深了解一下,请看下面:我们可以把CPU核心比喻成一套维修工具,里面有万用表、螺丝刀、扳手等,拥有几个核心就代表有拥有几套工具,而线程数则代表是几个人干活,正常情况下是一个人拿一套工具干活,资源都是独立的。而超线程技术则相当于是两个人使用一套工具干活,一个人使用螺丝刀,一个人使用扳手,资源是共享的,这样下来工作效率就提高了不少,但有时候也会出现两个人同时使用螺丝刀的现象,这就需要一个人用完另一个人再去使用,会有一定的等待时间,所以总体的效率虽然要高于一个人使用一套工具干活,但还是比不上两个人各配一套工具来的快。看完上面的解释,应该能明白核心和线程的意思了吧,需要说明的是,超线程还需要主板、系统以及应用软件的支持才能发挥作用,而我们一般的上网大多都是单线程的,所以超线程技术的应用范围有限,大多集中在图形或视频处理等专业领域。有影响,具体还得看游戏。有些游戏对多核心优化不够,四核或者六核就够了。有些大作会多核优化,比如最近火爆的骑马与砍杀2,前几天更新对多核心优化,个人用微星飞机观察到,我的3700x在千人以上战场中,八核心十六线程全部使用在40%以上。还有很多3a大作会这样,个人猜测八核心十六线程也可能是未来3a游戏多核心优化的一个趋势,从最近半年的游戏测试来看,很多3a大作基本上是八核心时候帧数达到最理想效果,即八核心以上效果提升微乎其微,四核心到六核心再到八核心是一个递进的效果,这类视频在今日头条也能搜索到一些。。
4,游戏是多线程的哪些游戏是多线程的
基本上所有的大型程序和游戏都是多线程的,多线程已经是一种很普遍的编程技术了。 对于现在的大多数游戏来说,瓶颈仍然是图形系统,也就是显卡。双核的提升作用有限。日后绝对向4核发展 买Phonem II X4 我也不知现在要不要带去高中 不过10年前的学生都要的 我只是初3的学生