游戏时 CPU 闲置率这么高，为什么不用来辅助显卡？
简单的说，一个稍微有点规模的游戏，都是会同时使用到cpu和gpu的，但cpu和gpu干得活不同。  cpu适合干有先后顺序的活，比如你控制的角色把一个杂兵往人堆里扔，杂兵A会击倒杂兵B，杂兵C会击倒杂兵D，像多米诺骨牌一样的连锁反应，每个人因为装备属性不同，防御力不同，每个人受到的伤害又受砸他的杂兵的属性影响。这样的话，你要计算这些人在这一击下究竟分别受了多少伤害，就要按顺序挨个儿算。  gpu适合干没有顺序关系的活，还是上面那个例子，你控制的角色把一个杂兵往一堆人里扔，但这次杂兵A一次就同时砸倒了杂兵BCDEF，BCDEF相互之间没有挨着。那么BCDEF受到的伤害就可以同时独立计算。  但为什么实际游戏制作中不这么去分呢，因为在杂兵A砸到其他人之前，你是不知道接下来究竟是上面哪种情况。  那么你会说，那在砸到以后再决定让CPU还是GPU来算不就好了？  这里又有个问题就是，CPU能直接访问的数据是放在内存中的，GPU能直接访问的数据是放在显存中的。这样你又得考虑两种情况 一种是杂兵数据放在内存中，这时候想让GPU进行计算，那就得花时间把杂兵数据从内存移到显存中，或者反过来。 另一种就是在内存中和显存中同时放杂兵数据，但这样的话，在一份数据被使用的时候，另一份数据就是闲置的，纯浪费空间，并且在算完后，还得同步一下，把算好的数据拷贝一份到另一处。 数据在内存和显存中来回传递的效率相比于CPU和GPU的计算效率，是非常低的，低到什么程度呢？一个1.0G主频的cpu，算一个加法的时间，可以粗略的当成是1ns，但内存和显存之间传递数据的时间呢？是us甚至ms来计的。 这样的结果就是cpu和gpu都很闲，但传递数据的总线却很忙，得不偿失。  所以一般为了平衡cpu和gpu的负载，会把物理计算放在cpu，而把显示运算放在gpu。这两块数据基本互相独立，即便有数据互通的情况，量也非常小。这是游戏制作中最常规的方式。  物理计算可以粗略的认为包含物体碰撞，刚体运动力学（也就是中学物理讲的那部分，外加角速度处理旋转，和针对不同形状物体的预处理实现旋转运动），一个游戏世界里有多少物体，花花草草怪物道具等等乱七八糟的东西有多少算多少，碰到了道具，可以拾取，碰到了花草可以踩掉，碰到了怪物会掉血等等，这些由cpu来算。还有重力作用，运动的加速度等等  显示运算则是，同样是这个世界的这么多物体，哪些应该显示到屏幕上，以什么颜色来显示，显示的远近大小遮挡关系，光照阴影等等。  所以当你发现你的游戏cpu比较闲时，你可以尝试在你的游戏里多加点活动单位，这时候你就会惊喜的发现cpu也开始忙起来了，gpu这时候可能更忙，所以你可以降低一下画质比如各种显示效果还有分辨率啥的。这时候你就能发现cpu非常忙，gpu反而变得闲起来了。  砍马与砍杀可以设置战场人数，还有一些类似的游戏你都可以拿来试试。  写完才发现这问题都过了三年了，题主估计看不到了。  =============DLC========= 评论区有小伙伴提到了一个问题： “我玩CSGO时候，CPU都冒烟了，显卡占用30%-60%，帧数还上不去还有时候掉帧”。 @小小柳之絮 @御坂-10086号 这里做一个解答： 前文中提到，CPU和GPU虽然各干各得事，但是并非是完全独立开来。 CPU在计算完物体的物理状态后需要把这些信息告知GPU，最典型的就是物体的位置信息（有运动）,朝向（有旋转），GPU拿到这些信息后，才能知道相应的画面该怎么表现，比如重新计算光影遮挡之类的，然后绘制这个新画面并呈现到屏幕上。每一帧重复这个过程。 一般PC游戏每一帧的生成时间为16.6ms（60fps），这个限制同时包含了CPU和GPU的处理时间。如果CPU和GPU完成任务的总时间超过了16.6ms，那么帧数就不够，玩家看到的画面就会“卡”。 游戏开发中为了减轻这种CPU和GPU互相等待对方干活而自己只能呐喊助威的情况，会使用一些优化技术去减轻这个问题，这里就不展开细讲了。