为什么游戏能吃满显卡却吃不满多核CPU

作者: epcdiy分类: 计算机技术 发布时间: 2024-07-06 17:40:29 浏览:655229 次

为什么游戏能吃满显卡却吃不满多核CPU

果馅团子:
大学小组作业,一定是人越多完成速度越快吗[doge]

【回复】回复 @epcdiy :不,大学小组作业很多时候相当于一个超大型单人作业,取决于最愿意干活的那个人的效率
【回复】有大神就快,当然气氛组的情绪价值也要给大神拉满
DOLLORR:
1个老婆生1个孩子,需要9个月。 但你不能要求9个老婆用1个月时间就能给你生1个孩子。[doge]

【回复】显卡:找十个老婆生十个
【回复】回复 @epcdiy :必养的[doge]
Mr_豆先森:
Windows系统的大小核优化问题[笑哭]能讲讲吗,找了好多也没有个比较靠谱的方法[tv_大哭]

【回复】用amd,我就是为了用Win10买的amd[doge]
【回复】从目前看到的反馈来看,微软自己恐怕都没弄明白[笑哭]
hyperbin:
多任务程序开发难度巨大+很多场景在逻辑上就不可能被并行处理,就像你不可能同时建造一栋楼的1层和10层

为什么注册才能看:
所谓多核优化实际情景是这样: 核一号:喂!你们都来帮帮忙。 核二三四...:ok! 一段时间后... 核二:喂!这个内址地址我要修改了,你们谁还用着? 核三:啥?我还在用!不要急等等!我还没写回到三缓或内存,上面是过时值不要用! 核四:喂核一!我要你的中间结果,快写回三缓让我读取! 核一:等等!正在算! 核四:快啊! ...... 核一:好了!已写回三缓! ..... 核四:操!还没到吗?没你的中间结果我没法进行下去啊! 核一:操!等等啊!写回三缓要时间! 核四:操!我还要从三缓读取一遍!慢个鬼! 核二:喂核四!我要你的中间数据! 核四:要条毛!我还在等核一! ...... 总线:WDNMD,吵死了!

【回复】所以X3D 出来了,哥几个你全力干, 传话的事情交给我,我记得东西多,不会忘。
【回复】这还不算完,大小核环境更离谱: 大核0:派活了!哥几个把这波操作搞起来! 系统:派活了!要的自己领!你们几个童工,可以先选! [滑稽]
【回复】回复 @星卡管家 : 想多了,早期多核会这样。多核优化早10年前就有。只要单位多算量多就想要多核心。最简单市场需要什么厂家就出什么,现在无论是A I 还是其他国产做CPU基本4核心起步2核心的产品线都丢了,说明现在多核心是必须的。只不过多数游戏都是追求画质需要显卡,像星际红警这种超多单位就需要多核心
ZNZNHL:
E5 2690 V3大部分游戏都比E5 2666 V3强,这点我看过很多对比视频[笑哭]不过我最后还是买了2666 V3,不用换内存,毕竟还有四条8G DDR3 1600。

【回复】服务器CPU是不是更适合搞建模渲染剪辑?另外,怎么没听说过AMD的服务器CPU流入民用市场
【回复】回复 @学名李四 :7945hx 16核32线程一样吃满
京都精神病人:
最主要的原因,就是“优化”在程序开发中是奢侈品。而多线程优化,更是奢侈品中的奢侈品,因为用在游戏上的多线程优化,并不会比几十上百亿的超级计算机、大语言模型、粒子仿真更简单,因为从根本上,都是并行计算的一种应用。要说做不到吗?肯定能做到,像科学计算在早期也是顺序单线程的,后来才发现GPU可以用于并行计算,称得上改变世界。游戏肯定也能找到类似的“范式”来实现并行计算,但目前游戏还没发展到没有并行计算就无法前进的时候。也许将来VRAR的极大运算量会孵化出属于游戏的并行计算模式。

【回复】使命召唤有几部支持超线程优化,关了超线程的话low帧会低特别多,非常卡
Blue_Beaker:
在linux下使用kde系统监视器可以清晰地看出进程在不同线程间来回切换(负载为加了一堆模组的minecraft 1.12.2)

【回复】回复 @呜-呼Titui :没做好,等第二章做完处理下协议和汉化,就发个demo
【回复】mc自21w38a(1.18快照)后,就将最大可用线程数由7个拓展到了255个,所以如果跑一个高版本的话就又是一个表现了[吃瓜]
【回复】回复 @Blue_Beaker :感谢大佬!!/doge
星月ソナチネ:
而且CPU其实不仅要处理游戏主逻辑,还要参与画面渲染的流程,因为显卡只是一头召唤兽,需要听从CPU指挥和调教才能正常运行,所以就算显卡非常好也有可能会卡CPU的瓶颈。 正是应了那句老话: CPU是这样的,显卡只要全身心投入到帧缓冲池中,听命行事,奋力渲染就可以,可是CPU要考虑的事情就很多了。

猫耳叉叉:
主要是时间逻辑性,很多的计算都是需要依赖上一条计算结果的,时间逻辑上就决定了多线程优化终究是有限的

【回复】我认为单核强,才是真的强,其他什么任务,搞点小核超线程糊弄一下得了[doge]
【回复】回复 @_紫熙_ :[doge]我感觉也是,不过主要是单核强的多核也不会太差,比如14900k
【回复】回复 @_紫熙_ :民用又不是服务器、本就是单核强的逻辑、只不过厂家造不出更屌的、牙膏得继续挤、生活得继续、就开始多核堆。
永恒的大叔:
我自己就是写代码的就很可以理解,你确实说可以写多线程多进程没问题,但是实际上现实中考虑的问题会更多,多进程的话就要考虑到内存资源占用会变多,多线程的话就要考虑到线程之间资源共享等等,结果就是bug会变得很多很多很多。凡是牵扯到多线程的,不可预知的bug就会变得更多。因此,如果性能允许,我宁愿不写多线程,这样系统还能更稳定。

【回复】我的多线程只存在简历上[doge]
【回复】我也这么觉得,而且,多线程我是坚决不自己调度,而是用一些现有的线程调度组件,否则出bug了排查也很麻烦。
【回复】回复 @我想要的幸福是什么 :因为多个线程处理同一个任务的时候,你还得写一个控制线程处理任务的时候不冲突的逻辑,所以简单事情用多线程是可以加快效率的,如果一个任务逻辑特别复杂的话,你管控多线程逻辑也会更复杂
MarylineNatta:
现在CPU频率超过5GHZ以后 也碰上边际效应了,收益越来越小 Intel和AMD都另辟蹊径提升性能了 也就是增加CPU的缓存 Intel从13代酷睿开始加二级缓存 AMD则是从zen3开始出了x3d这种大三缓

【回复】回复 @盐ちゃん : 单机=P社? 文明和天际线到后期都是计算密集型任务,78X3D单核落后149KS差不多30%,能赢就有鬼 然而绝大多数游戏都是IO密集型,这种情况下100GB带宽50ns延迟的IU拿头打700G带宽12ns延迟的78X3D
【回复】大三缓只对网游有大用,对单机类我是没看到有什么用。典型的78x3d单机打不过126[辣眼睛]游戏:文明、天际线
【回复】回复 @盐ちゃん :分游戏,2042这种重度CPU游戏,x3d表现非常好,而且单机那边基本负载都在显卡那儿,CPU收益不如换显卡
色迷香澄:
单玩游戏的话,CPU占用并不是越高越好的。CPU除了处理游戏进程还有部分系统与软件的进程。当CPU性能过低就无法及时处理这些进程。高显低U导致的各种卡顿,比如频繁的每秒最低帧,系统卡顿。要比单纯显卡性能差导致的帧数低更难受。[藏狐]

【回复】跑满显卡的条件下,CPU占用越低越好。
【回复】是的,卡顿比低帧数难受的多,那些高显低U的机子,遇到稍微吃cpu一点的游戏,根本没法玩
【回复】回复 @御空尘 :你对AMD是不是有什么误解啊[笑哭]你自己去看看同配置的对比,AMD不仅比英特尔功耗低一半,同时帧率也持平甚至超越英特尔,英特尔温度甚至比AMD还高
CLINLX:
大家以为的游戏多核优化:共100个只有1道工序的商品,1个人做,要100分钟。100个人做,要1分钟。 实际上的游戏多核优化:共有1个需要100道工序先后完成的商品。1个人做全部工序,要100分钟。100个每人一个工序,也要100分钟。第一个人没做完,剩下99个人只能等着。

Jason_Cho:
CPU进行多线程任务时,线程间通信需要额外开销。 学过多线程编程的同学应该都知道,多线程处理的一个入门级关键问题,就是如何保证数据的线程间安全。 无论加锁,还是消息队列,还是其他手段,为了保证线程安全,必须付出额外的开销。 这种开销,在线程间通信极为频繁的情况下,会导致多线程比单线程更慢。 而对于每秒刷新60帧以上的游戏而言,任何子线程对界面层的改动都会导致每帧1次的线程间通信开销。 因此游戏的界面层、表现逻辑,只能在主线程做,而这些任务占了游戏任务的一大半。 这就是为什么游戏普遍只有一核占满,因为在CPU设计结构的限制下,游戏只能做到这个程度。

Watch_Pigs:
现代游戏引擎(其实得更现代一点,近15 年吧),一般会有job system来动态调度任务,尽可能均衡地利用各个核心,除了游戏逻辑的主循环线程外,游戏会创建一堆通用线程来等待处理各种任务,这部分对游戏逻辑程序员是不透明的,遵循一个谁空就会把任务塞给谁,至少fiber-based是这样的。只要任务足够多足够碎,引擎都会充分利用每个核心。作为玩家判断游戏的多核心效能,可以看一下游戏场景中的游戏对象(带逻辑的)和游戏系统,约多约复杂通常多核利用率也会高,比如城市天际线之类的。

科技猎手 游戏 主机游戏 CPU 显卡 程序 单机游戏 多核CPU PC游戏 3A大作

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!