CPU和GPU占用率的一些误区 您所在的位置:网站首页 原神显卡占用100多正常吗 CPU和GPU占用率的一些误区

CPU和GPU占用率的一些误区

2024-06-30 22:13| 来源: 网络整理| 查看: 265

噬血代码二周目通关了,又开始游戏荒了,很无聊。所以写一篇专栏吧。这次是关于CPU和GPU占用率的。

经常可以在网上看到一些问题,比如 我的显卡占用率这么低,游戏帧数好低,求教怎么提高显卡占用率。

提高显卡占用率不难,但是顺便提高游戏帧数就很难了。除非换硬件。

首先说一下我们在任务管理器,MSI afterburner,AIDA64等软件里看到的占用率是什么。简单来说,CPU占用率是 一段时间内,CPU干活的时间与总时间的比值,GPU同理。想了解更多可以知乎搜索相关问题,这里不多讲。

这意味着,CPU占用率与CPU内部哪些电路在工作是没有关系的。同样是100%占用率,有些活比较简单,用到的电路少,通过CPU的电流就低,功耗和温度也低,反之同理。

如下图。

X264X265

两张图都是视频编码过程。预处理用的都是vapoursynth,上面用的是X264编码,下面用的是X265,参数不同,不能对比速度,这里只用于举例说明上述问题。可以看到同样是100%的CPU占用率,X265的电流,功耗,温度,都远高于X264。很大一部分原因是X265用AVX2指令集用的多。活重,用到的电路多,电流就高,没什么好说的。

说一些跑题的。X264编码的过程,可以看到没有撞PPT/TDC/EDC/温度墙,为什么不继续提频呢?继续提升频率,提升电压,让温度或功耗刚好撞墙,性能不是更高么?假设可以这样做,并且最终撞了142w功耗墙,与X265状态相同,那么不同的是频率和电压。那为什么AMD不这样做呢?是不是说同样的温度下,高频高电压更容易出现不稳定,或者对CPU寿命有影响呢?我并不能给出准确回答。(熟悉我的人应该知道我又在diss手动超频)

GPU也是同样道理。同样是GPU瓶颈的游戏,即绝大部分时间GPU是99-100%占用,可以看到GPU的功耗是不一样的。以我的VEGA64为例,玩一些3A大作时的功耗在200W左右,玩守望先锋可以到240W,极端一点,跑甜甜圈0AA可以直接顶到360W的功耗墙。

对于GPU,我发现几个规律,不能确定一定成立。

1 MSAA等计算量高的抗锯齿降帧效果显著,降功耗效果也很显著。甜甜圈0AA和8AA功耗差距巨大。各种游戏也是一样。

2 高帧率往往比低帧率的功耗更高。

总结一下,占用率只是表示芯片干活时间与不干活时间的比例关系;同样占用率,电流和功耗与电路的利用率有关,或者说干的活轻重。

白血教堂

可以看到GPU占用率76%,频率1237MHz没有跑满(我的卡跑满应该有1550MHz以上),而CPU全核心占用率仅仅18%。CPU和GPU都没满载,此时帧率只有87fps,那么有些人是不是要问了:帧率太低了,我该怎样提高GPU占用率呢?然后有些人就会回复:CPU瓶颈了,换U。以及:amd的cpu打游戏不行,换9600K(9700K/9900K)就不会这样了。

对于这种情况,换了OC 5G的这三个U,GPU占用率会提高,帧率也会提高,但肯定还是跑不满的状态。ryzen打游戏弱于intel那一票OC 5G的U没毛病,但差距没有想象中那么大。

对于CPU和GPU占用率都跑不满的情况,一般有如下可能的原因。

1 CPU单核性能瓶颈 2 CPU多个核心性能瓶颈 3 程序的多线程并行化限制 4 CPU的IO部分瓶颈(core之间,core与内存之间等数据传输) 5 PCIE带宽瓶颈 6 显存带宽瓶颈

其中5和6一般情况不会发生。这里解释一下4。比如CPU算一帧指令可以利用0123这三个核心,其中开始的部分0123可以并行计算,但是后面的任务3需要利用0123之前算出的结果,这意味着2算的快了,它只能歇着等0和1算完,3算完了也得等012都算完。

那么图上那种情况是咋回事呢?因为噬血代码白血教堂这个图比较开阔,是个立体的结构,但是贴图比较简单。人物在一个地方的时候,附近很多地方都需要CPU来计算长什么样,敌人该怎样行动等等,而GPU渲染就很容易了。所以结果是CPU瓶颈。至于是哪种类型的,应该是134都有。可以看到有个线程占用率达到94%,所以1的权重更大一些。

所以这种情况换单核性能更强,core之间交互能力更强,内存性能更强的intel平台,当然可以提高GPU占用率,提高帧率了,但是提升不了多少,根本原因是这张地图就这样,计算任务就是这种类型的。类似的,吃鸡,csgo有些场景就是吃不满GPU,完全没有办法。

一个观点:游戏优化越好,相同的画质设置,相同的配置,GPU满载时的功耗越高(不撞墙的情况下)。因为游戏对GPU流处理器的利用率更高。

突然想到的,怕之后忘了说,不多解释。

之前说了提高GPU占用率容易,提升帧率难,为什么?这句话有个条件,就是不换硬件。

对于CPU瓶颈的游戏,只需要把画质提高,帧率一般不会下降太多甚至不变,GPU占用率会提高。如果已经是最高画质了,可以动驱动里的选项,或者使用nvidia dsr和amd vsr这些超分辨率来提升显卡计算量。只是这么折腾都不可能提高帧数罢了。但是这样操作可以提高画面质量,让你看到GPU占用率高了,性能没有浪费。。

需要注意的是,一个游戏的场景有很多,可能有些场景是CPU瓶颈,有些是GPU瓶颈。提高画质之后,后者的场景会显著降帧。

换句话说,你的软硬件环境都确定不变了,如果严格GPU不满载,几乎是没有方法提升帧率的。有些游戏的一些选项是影响CPU的,动一动可能有用。

U就是这么一个U,卡就是这么一张卡,它们合作的性能表现就是你看到的,GPU没满载很正常啊,你给的这个工作条件,GPU确实不需要全力干活。

话说当问这种问题的人看到GPU满载了,CPU占用率不到10%,为什么不问我的CPU占用率这么低,怎么提高?花4000买个9900k,花了好几天研究,超到了全核5G,一看游戏时利用率那么低,咋不觉得CPU浪费了呢?

此时我也能给出方法让你的CPU利用率提高,只是完全没有任何收益。那就是降低画质。降低画质,GPU单位时间内算出的帧多了,CPU也得跟上,算的帧也多了,计算量大了,自然占用率就提高了。。但是何苦呢?

一个观点:本篇专栏全程默认系统使用win10官方最新版,系统后台纯净,没有垃圾软件,所有驱动正确安装,驱动正确配置。

一个观点:同一个(即同IPC)芯片单位时间干活总量和两个因素有关,一个是占用率,一个是频率。说这个的原因是显卡占用不满时,往往会降频,因为 低频率高占用 比 高频率低占用 更省电。一旦需求的计算量暴涨,GPU就要切换P-state,即切到高频,这需要时间,这也是卡顿的原因之一。

并没有 GPU满载就是好的,CPU满载(可能是单核满载)就是不好的 这种说法。

首先前面说过了,单单100%占用并不是说明GPU的所有电路都利用到了,这些人此时应该问,为什么我显卡功耗这么低,如何提高?我甚至也能给出回答,保证显卡满载的情况下降低抗锯齿。

其次是你给的计算任务,它对CPU和GPU的利用形势就是那样的,并没有哪个吃的多就是好的说法。以噬血代码为例,应该只有白血教堂这个图会出现GPU不满载的情况, 你能因为白血教堂就说3800x游戏性能垃圾?换成9900ks还是不能跑满GPU的时候你咋说?

所以,在买硬件之前,一定要做功课,去了解你主玩的游戏(类型)更多吃什么硬件。是CPU(单核还是多核,还是core间传输),内存,还是显卡(GPU性能还是显存容量)。

一般来说高画质低帧率的游戏是严重的GPU瓶颈。但过度D加密的育碧游戏是个例外。

低画质高帧率的FPS游戏一般是CPU和内存瓶颈,GPU吃的少一些。CSGO就是这种。也有例外,比如OW的优化极好,大部分情况都是GPU瓶颈。

这篇真是我想到哪写到哪了。。。能看完不太容易。。。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有