POPPUR爱换

标题: (转)CPU对游戏画面的帮助为什么会这么大?技术达人进。 [打印本页]

作者: ainomushime    时间: 2006-6-3 16:28
标题: (转)CPU对游戏画面的帮助为什么会这么大?技术达人进。
显卡都是7800GT.
分辨率1024x768.

PD955XE3.45G

HalfLife II 108
Doom3 136
FarCry 113
Quake 4 118

Conroe E6400 2.13G
HalfLife II 166
Doom3 168
FarCry 160
Quake 4 176


这CPU对画面的影响也太大了一点把? 3.45G的PD都是双核心,居然这么多游戏中输Conroe 2.13G近50%.
先前听到TG很多技术高人说,CPU的浮点什么的强没有任何作用,GPU已经搞定,CPU就尴尬了,没有用处了,只能去搞搞视频编码什么的,顶多,顶多在搞点物理. 但是上面那几个游戏,几乎都没用多少的物理处理把.就是个CPU的不同,而且还都是近1年左右的顶级CPU,就造成如此大的差距? 这Conroe到底怎么回事?

请技术达人解释一下,CPU对这些游戏的画面起了什么样的作用,是否协同了GPU的处理,为什么会有如此大的差距?
作者: oneping2    时间: 2006-6-3 17:07
1、提升的是速度,不是画面。
2、较老的游戏,或者较低的分辨率,瓶颈在CPU,所以更换CPU帧数提高很多。
3、越强的显卡CPU的瓶颈越严重。
作者: ainomushime    时间: 2006-6-3 17:14
1,速度快,代表同样的速度下,扣肉能在画面上摆更多东西把?
2,为什么瓶颈在CPU?  为什么GPU不能对这些起更好的加速作用呢?
3,为什么? CPU怎么和GPU协同工作的?
作者: oneping2    时间: 2006-6-3 17:35
1、不支持的特效速度再快也跑不出。
2、瓶颈是相对的,低分辨率对GPU运算要求低,CPU就成了瓶颈。
3、GPU和CPU分工不同,CPU主要负责通用的整数运算,比如电脑AI、物理运算、逻辑判断、分歧预测等,需要强大的CPU支持,至少目前GPU还无能为力。
作者: 来不及思考    时间: 2006-6-3 17:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: complexmind    时间: 2006-7-8 16:29
原帖由 来不及思考 于 2006-6-3 05:57 PM 发表
DX10以前,CPU可以说直接跟画面生成有关

why???????
作者: D65    时间: 2006-7-8 17:35
DOOM3, 最高画质,你跑到了136FPS, 是最高画质?

莫非又是个支持双核的游戏。
作者: D65    时间: 2006-7-8 17:47
以前有文章指出,多数游戏程序员习惯使用的算法,更适合短流水线架构。而这种算法正是被微软所广泛推荐。也就是说,是微软间接导致不少游戏,NETBURST吃亏。

也还有不少游戏,P4快些。所以这个因素还真值得去考量一下。

至于正确与否,未可知。功耗太大了,不值得INTEL去研究了。
作者: complexmind    时间: 2006-7-8 17:52
原帖由 D65 于 2006-7-8 05:47 PM 发表
以前有文章指出,多数游戏程序员习惯使用的算法,更适合短流水线架构。而这种算法正是被微软所广泛推荐。也就是说,是微软间接导致不少游戏,NETBURST吃亏。

也还有不少游戏,P4快些。所以这个因素还真值得去考 ...

程序员优化的力量是不可忽视的,PS2那么差,合金3的效果在电视上还很好,就是感觉怪怪的
作者: ayanamei    时间: 2006-7-8 17:56
原帖由 complexmind 于 2006-7-8 16:29 发表

why???????

所有的几何数据都来源于CPU
作者: ayanamei    时间: 2006-7-8 17:58
原帖由 D65 于 2006-7-8 17:47 发表
以前有文章指出,多数游戏程序员习惯使用的算法,更适合短流水线架构。而这种算法正是被微软所广泛推荐。也就是说,是微软间接导致不少游戏,NETBURST吃亏。

也还有不少游戏,P4快些。所以这个因素还真值得去考 ...

没这种说法
对于程序来说 并不需要关心CPU内部如何去动作,包括其流水结构。
Nerburst吃亏是其设计就有不合理之处
作者: sylphid    时间: 2006-7-8 18:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: ayanamei    时间: 2006-7-8 18:38
原帖由 sylphid 于 2006-7-8 18:30 发表

1.游戏设定这个画面就是这么多东西了,同画面上摆多少东西不是扣肉决定,而是游戏决定,CPU快也只是提高FPS,绝对不会由CPU生成更细致的纹理吧?
2.现在很多游戏物理计算还是由CPU完成,AOE3就是拼命吃CPU的好 ...


CPU和GPU做的工作不同,CPU毕竟不光只是完成物理运算的

BUMP技术也只是为了在不增加几何数据的情况下更多的表现出更复杂的外部几何特征。
比如一些褶皱,等等,为了不增加CPU负担而诞生的技术。
SM3.0的DM也是类似的技术,但是DM是实质上的操作了顶点
Geometry shader将是一大革新吧 #看看能做到什么地步再说。
至少CPU不用建立过于复杂的几何模型
作者: 江湖任我行    时间: 2006-7-8 18:39
原帖由 D65 于 2006-7-8 17:47 发表
以前有文章指出,多数游戏程序员习惯使用的算法,更适合短流水线架构。而这种算法正是被微软所广泛推荐。也就是说,是微软间接导致不少游戏,NETBURST吃亏。

也还有不少游戏,P4快些。所以这个因素还真值得去考 ...

适合短流水线或者长流水线这种事,不是游戏程序员能决定的,是他所用的编译器决定的
作者: sylphid    时间: 2006-7-8 19:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: proll    时间: 2006-7-8 19:59
CPU绝对影响画质,这点从同样显卡不同CPU的机器上面明显感受的到
作者: 单晶硅传奇    时间: 2006-7-8 20:02
原帖由 sylphid 于 2006-7-8 19:57 发表

建立模型不是顶点引擎的工作吗:ermm:


只负责顶点坐标转换
作者: sylphid    时间: 2006-7-8 20:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: fifa888    时间: 2006-7-8 21:04
原帖由 proll 于 2006-7-8 19:59 发表
CPU绝对影响画质,这点从同样显卡不同CPU的机器上面明显感受的到


可以游戏设置中,设置的画质不同
作者: complexmind    时间: 2006-7-8 22:25
原帖由 单晶硅传奇 于 2006-7-8 08:02 PM 发表


只负责顶点坐标转换

两者有什么区别??
能说详细点么??
谢谢大虾了。。
作者: ayanamei    时间: 2006-7-9 00:58
原帖由 proll 于 2006-7-8 19:59 发表
CPU绝对影响画质,这点从同样显卡不同CPU的机器上面明显感受的到

w00t)w00t)w00t)
作者: complexmind    时间: 2006-7-15 14:37
原帖由 complexmind 于 2006-7-8 10:25 PM 发表

两者有什么区别??
能说详细点么??
谢谢大虾了 #

大虾快来救人啊。。
小弟在线等
作者: seraph0504    时间: 2006-7-15 19:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: RacingPHT    时间: 2006-7-15 20:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: complexmind    时间: 2006-7-16 11:17
原帖由 seraph0504 于 2006-7-15 07:11 PM 发表
如果有兴趣的话,建议楼上去看一些3d图形学的入门书籍。
在目前的硬件体系中,vertex基本上是不能在GPU中生成的,只能由CPU从外部传输进去一些固定的vertex,然后GPU的顶点引擎(原来是TnL,现在是vs)完成一些坐 ...

谢谢了,长见识了。。
作者: vp    时间: 2006-7-16 11:38
vertex当然是在建模软件里生成的,比如3D Max之类,目前由谁生成vertex和速度关系不大,因为所有的vertex变换和光照由vs完成。但是如果开发者希望对vertex作一些特殊的变换,dx9的vs就力不从心了,比如只输入了3个vertex,确想生成更多的多边形,使得建模更加光滑,这个时候在Dx9当中只能靠cpu去进行计算,而到了Dx10中,由于引入了GS,就能完全避免这种浪费cpu的工作。又比如,如果想放弃硬件clip,做一些自己独特的clip动作,也只有采用cpu去做vs的工作才能实现。又比如,想将vs的计算结果直接抽出来(该动作在物理计算中很有用处,即把GPU当PPU用),而不是按照硬件管线的顺序送入rasteration单元,那么在Dx9.0中只有用cpu做vs运算,而Dx10中就没问题了。
此外,驱动开发人员甚至会故意放弃GPU做某些运算,而采用cpu来代替,其原因在于大部分消费者买的是低端卡,因此对于他们而言GPU的瓶颈更大一些,这个时候如果在驱动中就分一些工作给cpu做,则会降低GPU方面的瓶颈,达到对低端消费者的“优化”。比如对vs和ps的操作中事先必须存入很多const,这些可以由GPU去算,也可以由cpu算,很多驱动就会利用cpu运算。
再比如最为简单的blit动作,本质上应该由GPU完成,但是实际当中,因为硬件设计的缺陷或者驱动开发的难度,在做3d的blit时会采用cpu blit方式,自然又加重了cpu的负怠#
总之,在Dx9.0中,还有很多缺陷导致cpu会取代GPU工作,到了dx10.0这种情况会有改善,但是改善的程度需要游戏开发者和驱动开发者共同努力来实现,只要有一方想偷懒,那么对于cpu的依赖依然不会降低。
作者: complexmind    时间: 2006-7-16 13:37
原帖由 vp 于 2006-7-16 11:38 AM 发表
vertex当然是在建模软件里生成的,比如3D Max之类,目前由谁生成vertex和速度关系不大,因为所有的vertex变换和光照由vs完成。但是如果开发者希望对vertex作一些特殊的变换,dx9的vs就力不从心了,比如只输入了3个 ...

好贴啊 #
多谢大虾了 #




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4