POPPUR爱换

标题: 是不是微软WINDOWS系统真的不适合做游戏平台(求科普) [打印本页]

作者: webguest    时间: 2012-4-5 21:59
标题: 是不是微软WINDOWS系统真的不适合做游戏平台(求科普)
本帖最后由 webguest 于 2012-4-6 15:31 编辑

下一代主机的GPU都采用40nm的HD6670改制版HD7670(居然还不是28nm的)   按桌面GPU性能对比的话 只不过是个低端入门级产品 (500RMB)而据传PS4的CPU也只采用AMD的A8-3850
相对PC桌面级来说 这么低端的配置  怎么玩得动高画面质量的游戏呢  目前PC级高端产品7970/680玩现在的大型游戏也不过尔尔

[attach]1829565[/attach]


这是据传的下一代主机游戏画面
[attach]1829566[/attach]


我想这并不是单纯的优化好坏的问题吧



《Project Cars》这款游戏更被宣传为下一代主机Xbox 720的游戏,并且开发商Slightly Mad Studios还给出了一批游戏截图,供玩家们来判断下一代主机的游戏在画面方面能达到什么程度。


作者: bugbear    时间: 2012-4-5 22:02
就是优化的问题

主机硬件固定,好优化。

pc硬件组合太多,兼容性才是首要考虑的问题。

要说画质效果,pc完胜。而且pc的游戏类型是最全的。

主机那渣画质、物理效果,上不了台面。
作者: jocover    时间: 2012-4-5 22:04
平台差异性太大了,不适合做游戏平台
作者: webguest    时间: 2012-4-5 22:06
bugbear 发表于 2012-4-5 22:02
就是优化的问题

主机硬件固定,好优化。

XBOX360上的战地3效果不是也刚刚的吗 虽然不及PC高端级  但那个GPU只是05年的ATI R500

作者: bugbear    时间: 2012-4-5 22:10
webguest 发表于 2012-4-5 22:06
XBOX360上的战地3效果不是也刚刚的吗 虽然不及PC高端级  但那个GPU只是05年的ATI R500

主机平台你要是高清截图,画面根本经不起推敲,细节少、模糊。

主机可以用全部机能跑游戏,但是pc不行。

pc都是分层的,需要保证多任务,如果用全部机能跑游戏,那性能绝对刚刚的。
作者: webguest    时间: 2012-4-5 22:10
jocover 发表于 2012-4-5 22:04
平台差异性太大了,不适合做游戏平台

但相差也太大了 同级别的硬件  但在不同平台运行  效率差N倍   要是ATI R500显卡放PC上玩战地3  可能都运行不了吧
作者: webguest    时间: 2012-4-5 22:13



这种级别的效果  7970/680都不一定能吃得下
作者: bugbear    时间: 2012-4-5 22:17
webguest 发表于 2012-4-5 22:10
但相差也太大了 同级别的硬件  但在不同平台运行  效率差N倍   要是ATI R500显卡放PC上玩战地3  可能都运 ...

主机和pc两个概念。

主机可以一直用好几年,这么长时间,开发人员有足够时间吃透主机的性能,可以很好的优化。

pc硬件千变万化,更新换代速度极快,必须优先保证兼容性,这个就是操作系统干的事,所以不可能发挥全部机能。当然,pc的初衷也不是专门玩游戏的。

软件优化与否差距很大的...
作者: bugbear    时间: 2012-4-5 22:19
webguest 发表于 2012-4-5 22:13
这种级别的效果  7970/680都不一定能吃得下

自己google、百度“ps3 pc 画质”或者“ps3 pc quality”,这个话题早就被讨论烂了。

xbox360机能更弱一些。
作者: 结果    时间: 2012-4-5 22:32
不,是因为Windows平台太适合破解了
其实PC要干的事太多了而游戏机是专用芯片,精简指令集,其资源针对性和利用率不可同日而语。再说PC的破解真是很伤开发者的积极性。
新主机上市后PC只有胡乱移植的份了,PC到时候所谓的顶级配置的移植表现可能会落得很惨!
作者: 扫帚    时间: 2012-4-5 22:35
1. 优化
2. 画质的问题自己买一台360或者ps3玩玩就啥都明白了
作者: westlee    时间: 2012-4-5 22:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: cybrans    时间: 2012-4-5 23:13
有人真以为主机的3D分辨率有1920*1080啊...
作者: webguest    时间: 2012-4-5 23:15
下一代主机 分辨率起码1920*1080啊  带得动吗
作者: asd1508    时间: 2012-4-5 23:17
你把主机接显示器,一切揭晓

作者: 飞鸟真    时间: 2012-4-5 23:18
lz不必惊慌,ps4敢那样玩就没5了。
作者: webguest    时间: 2012-4-5 23:18
说的是下一代主机  不是05年的主机
作者: 结果    时间: 2012-4-5 23:20
本帖最后由 结果 于 2012-4-5 23:21 编辑

哎~最简单的比喻——今天的博士后能跟清朝秀才比语文吗?
作者: nom8393    时间: 2012-4-5 23:23
如果连BF3在XO360上和PC上的画质区别都看不出来,那我建议LZ你别升级电脑了,早点存钱买下一代主机算了。
作者: webguest    时间: 2012-4-5 23:24
westlee 发表于 2012-4-5 22:47
你先肯定主机那个画面没缩水再说吧。6670跑跑720P的全特效的bf3,30fps应该没问题。

6670跑1680x1050 4 ...

你还没搞明白我这贴什么意思吧

作者: webguest    时间: 2012-4-5 23:25
nom8393 发表于 2012-4-5 23:23
如果连BF3在XO360上和PC上的画质区别都看不出来,那我建议LZ你别升级电脑了,早点存钱买下一代主机算了。

如果你连我这帖子什么意思都看不出来  你还是回娘胎里好好待着吧
作者: webguest    时间: 2012-4-5 23:26
本帖最后由 webguest 于 2012-4-5 23:27 编辑
cybrans 发表于 2012-4-5 23:13
有人真以为主机的3D分辨率有1920*1080啊...


看不懂我这个帖子什么意思 就别乱叫
作者: webguest    时间: 2012-4-5 23:33
本帖最后由 webguest 于 2012-4-5 23:34 编辑
点评nom8393  会说人话么?  发表于 2012-4-5 23:32


你看得懂人类语言吗
作者: 结果    时间: 2012-4-5 23:36
本帖最后由 结果 于 2012-4-5 23:37 编辑

再说人家PS4还是交火呢
作者: webguest    时间: 2012-4-5 23:40
  1. 据称PS4将使用全套AMD器件,包括x64处理器和"南岛"图形芯片,画面分辨率可高至4096x2160(好像是下一代高清标准),3D画面则支持1080p全高清(目前仅支持720p)。

复制代码

作者: SnakeLee    时间: 2012-4-5 23:59
主机游戏优化的学问比较大
作者: webguest    时间: 2012-4-6 00:13
SnakeLee 发表于 2012-4-5 23:59
主机游戏优化的学问比较大[biggrin>

硬件性能应该是差不多的 但效率相差这么多 估计也就运行平台和游戏优化问题了
但是也不会相差这么多啊 XBOX360的GPU ATIR500要是放到PC上 战地3估计根本不能运行 更别说达到主机这样效果了
难道其中有不可告人的秘密? 游戏商跟硬件商勾结? PC上的游戏根本没优化?
作者: aeondxf    时间: 2012-4-6 01:08
结果 发表于 2012-4-5 22:32
不,是因为Windows平台太适合破解了
其实PC要干的事太多了而游戏机是专用芯片,精简指令集,其资源 ...

我非常好奇为啥这个年代还有人用console的risc说事
作者: whhwhhwhh    时间: 2012-4-6 01:21
结果 发表于 2012-4-5 23:20
哎~最简单的比喻——今天的博士后能跟清朝秀才比语文吗?

比白话还是文言?

作者: 结果    时间: 2012-4-6 01:22
aeondxf 发表于 2012-4-6 01:08
[mellow>我非常好奇为啥这个年代还有人用console的risc说事

现在啥年代?不还是跑个几年前的孤岛还费劲的年代?
作者: 结果    时间: 2012-4-6 01:26
whhwhhwhh 发表于 2012-4-6 01:21
比白话还是文言?

那时候也有口语白话。中国的文字原来是脱离口语的,写文章用一套语言思维说话是另一套。
作者: aeondxf    时间: 2012-4-6 01:33
结果 发表于 2012-4-6 01:22
现在啥年代?不还是跑个几年前的孤岛还费劲的年代?

求问打游戏关risc咩事?
作者: 结果    时间: 2012-4-6 01:35
本帖最后由 结果 于 2012-4-6 01:47 编辑
aeondxf 发表于 2012-4-6 01:33
求问打游戏关risc咩事?

那是主机只专注游戏一件事的意思,反正游戏机除了游戏啥也不干,虽然我完全不明白CPU和GUP设计不过这么想我们大家就都想通了
作者: aeondxf    时间: 2012-4-6 01:46
结果 发表于 2012-4-6 01:35
那是主机只专注游戏一件事的意思,反正游戏机除了游戏啥也不干,虽然我完全不明白CPU和GUP设计上的具体细 ...

所以说,关RISC咩事?
作者: 结果    时间: 2012-4-6 01:49
本帖最后由 结果 于 2012-4-6 01:49 编辑
aeondxf 发表于 2012-4-6 01:46
所以说,关RISC咩事?

咦?精简了其他,除了游戏啥也不干,专精一门当然就特别强了呗
作者: aeondxf    时间: 2012-4-6 02:00
结果 发表于 2012-4-6 01:49
咦?精简了其他,除了游戏啥也不干,专精一门当然就特别强了呗

你以为游戏机用RISC的意思是用专门为了游戏而精简的指令集?
作者: 结果    时间: 2012-4-6 02:06
本帖最后由 结果 于 2012-4-6 02:08 编辑
aeondxf 发表于 2012-4-6 02:00
你以为游戏机用RISC的意思是用专门为了游戏而精简的指令集?

嗯,也是这么想的——不是啊?但总体概念上我是以为主机专精一门而“精简”了其他技能所以游戏部分特别强
作者: aeondxf    时间: 2012-4-6 02:23
结果 发表于 2012-4-6 02:06
嗯,也是这么想的——不是啊?但总体概念上我是以为主机专精一门而“精简”了其他技能所以游戏部分特别强 ...

同等硬件成本下,游戏机的游戏性能比PC强;同样的时间下,PS1之后游戏机的游戏性能比不上高端PC。

所以品红酒玩游戏的不是PS3玩家,而是PC玩家。
作者: 结果    时间: 2012-4-6 02:38
aeondxf 发表于 2012-4-6 02:23
同等硬件成本下,游戏机的游戏性能比PC强;同样的时间下,PS1之后游戏机的游戏性能比不上高端PC。

[lo ...

不要扶我,让我倒下去
作者: chulei104    时间: 2012-4-6 07:29
nom8393 发表于 2012-4-5 23:23
如果连BF3在XO360上和PC上的画质区别都看不出来,那我建议LZ你别升级电脑了,早点存钱买下一代主机算了。

楼主说的是下一代主机的事情....
此外:
“XBOX360上的战地3效果不是也刚刚的吗 虽然不及PC高端级  但那个GPU只是05年的ATI R500”
这个算是楼主承认xbox360不如pc吧。

然后我就不明白,不同意对方意见也不要用带火药味的语气说话么?这么喜欢互喷么?
“如果连BF3在XO360上和PC上的画质区别都看不出来,那我建议LZ你别升级电脑了,早点存钱买下一代主机算了。”
这样喷,对方不火才怪。

然后呢,我说webguest,你也开始喷了?“如果你连我这帖子什么意思都看不出来  你还是回娘胎里好好待着吧”,就我的立场,纵然我偶尔犯错了想道歉,看到这句话后半句,立马就只剩下怒火。
...............

作者: westlee    时间: 2012-4-6 08:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: voodoocool    时间: 2012-4-6 09:39
360的操作系统也不过是个嵌入式Windows
上一代的DC,更是直接用WinCE做操作系统
所以LZ标题这个问题,真是没什么好回答的。
作者: chulei104    时间: 2012-4-6 09:48
看了LS两位回答,感觉前面的喷确实没意思。
作者: webguest    时间: 2012-4-6 11:20
本帖最后由 webguest 于 2012-4-6 11:29 编辑

既然41/42楼说的系统平台没问题  那么就剩游戏程序等优化问题了   PC游戏的优化真这么烂?

2005年的ATI R500 GPU在游戏主机上可以表现这么好 虽然玩战地3孤岛危机2的效果比不上现在的高配PC   但如果把这块GPU放PC平台上运行这些游戏  估计根本玩不了

作者: CC9K    时间: 2012-4-6 11:23
本帖最后由 CC9K 于 2012-4-6 11:24 编辑

AMD:游戏开发者希望Direct X有限度的"靠边闪"

Direct X对于游戏开发商可说是又爱又恨,爱的是因为它是由PC系统霸主微软所提出的API(应用编程界面),恨的是Direct X对某些开发商而言,并未将GPU效能发挥到淋漓尽致。继id Software创始人,同时也是被誉为3D游戏之父的John Carmack发难,首先公开表态支持OpenGL标准,并且认为OpenGL已经超越Direct X,并且拥有更强的跨平台优点之后,这次连AMD的Richard Huddy也跟着对Direct X(实际上是对API)开炮。

Richard Huddy指出,游戏开发者并不全然想要啥API,当然他指的是开发高复杂的游戏方面,Direct X在某种程度封印GPU的效能,导致游戏视觉效果被其限制;他个人希望游戏开发商能够进行对GPU硬件的底层存取(原文为Low-Level Access),就会知道在摆脱Direct X的束缚的当代GPU有多强大的效能。

他以游戏机举例,当游戏机甫推出时,游戏开发商需要API快速的推出游戏,增加内容,但当游戏机到了产品末期,开发商为了榨干硬件效能,会采取跳过API、直接针对底层存取,像是硬件早已落后的Xbox 360以及PS3即便到了今日,游戏画面仍不断进步。当然游戏机的例子并不恰当,毕竟游戏机的硬件一翻两瞪眼,不像PC上还包括各种CPU以及GPU的组合。

不过当脱离标准化的Direct X,针对不同的GPU架构直接进行编程将是程序开发人员的新挑战,尤其当下正面临CPU与GPU整合的挑战,例如AMD不断推波助澜的OpenCL就是针对CPU与GPU混合的API,所以也有游戏开发商如Crytek技术总监Michael Glueck对Richard Huddy的API无用论感到意外,但他也认为,多数的API仍仰赖CPU,并未发挥GPU的效能。至于Richard Huddy则确信,为了追求更极致的图形效能,尖端游戏领域业界对于API的需求将会越来越低,首当其冲肯定是微软。


作者: frankincense    时间: 2012-4-6 11:25
优化很重要,好的优化可以让效率番倍
主机硬件单一,优化有重点,可以花精力充分挖掘硬件潜力;PC硬件千百种,CPU高低端性能可以差数倍,GPU数十倍不止,再加上架构、指令集的差异,开发商更多只能针对主流作简单的优化,或者干脆使用DirectX等通用API来开发,效率必然不能保证
作者: spring62    时间: 2012-4-6 11:30
webguest 发表于 2012-4-5 23:40

PS3能输出1080p
但是多数3D游戏分辨率有没有720p都是问题
作者: spring62    时间: 2012-4-6 11:31
webguest 发表于 2012-4-6 11:20
既然41/42楼说的系统平台没问题  那么就剩游戏程序等优化问题了   PC游戏的优化真这么烂?

2005年的ATI R ...

玩可以玩的
朋友在他的笔记本上用性能不如R500的显卡验证过
作者: webguest    时间: 2012-4-6 11:33
spring62 发表于 2012-4-6 11:31
玩可以玩的
朋友在他的笔记本上用性能不如R500的显卡验证过

能达到XBOX360上的效果?
作者: westlee    时间: 2012-4-6 23:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: zjmttt    时间: 2012-4-6 23:35
本帖最后由 zjmttt 于 2012-4-6 23:38 编辑
webguest 发表于 2012-4-5 23:40


这个就是优化的结果,你还真以为上面那些图片效果就是那样的啊。这些都是缩小的图。你把1080P的一般精细的图在不减少图片的精度的前提下缩小到这个图的尺寸,就知道为啥这些图这么精美了。(题外话,楼主提供的图中有几张赛车的背景明显可以看出就是一张贴图。。。平的。。啥都没。。。反正是在开车,没人会注意这个。。硬件资源全部到那几辆车那里去了。)
说的再直白点,一个你可以去查看以往游戏机上和PC上都有的FPS之类的游戏的互相之间的评测对比,马上就知道问题所在,电视机和显示器完全不是一回事。电视机显示出来的效果都可以自动抗锯齿的啊,游戏机连抗锯齿都可以不用了。。。(说笑。。。)
作者: shiningwd    时间: 2012-4-6 23:53
zjmttt 发表于 2012-4-6 23:35
这个就是优化的结果,你还真以为上面那些图片效果就是那样的啊。这些都是缩小的图。你把1080P的一般精细 ...

电视能自动AA,这么先进?
电视还有计算单元?
作者: burntank    时间: 2012-4-7 00:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: aeondxf    时间: 2012-4-7 02:19
burntank 发表于 2012-4-7 00:08
PS4真要是用上AMD的X86 CPU和显卡,那只能是悲剧。。。
拿X86这通用CPU来做主机CPU本来就不适合阿,而且AM ...

ivy是当前最适合做游戏机的CPU
作者: burntank    时间: 2012-4-7 02:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: Vendicare    时间: 2012-4-7 07:39
webguest 发表于 2012-4-6 00:13
硬件性能应该是差不多的 但效率相差这么多 估计也就运行平台和游戏优化问题了
但是也不会相差这么多啊  ...

Directx以及OpenGL 本质上都是类似dcom的抽象层。为了做到硬件无关,在程序调用DirectX 指令时需要驱动来翻译一把,这里就损失了很多性能。主机游戏开发时对于性能关键部分会绕过抽象层直接调用显卡汇编,速度大大提升。此其一。

其二电脑配置很多,开发人员要考虑各种情况。优化不足也是个问题。

最后,主机因为是电视平台,所以画面上可以牺牲很多细节。这也是优化的一条。
作者: hyj201    时间: 2012-4-7 09:18
结果 发表于 2012-4-5 22:32
不,是因为Windows平台太适合破解了[laugh>
其实PC要干的事太多了而游戏机是专用芯片,精简指令集,其资源 ...

我同意你的看法,主要是破解太容易挫伤开发者积极性了,大多不会用心做PC版本,优化差得一塌糊涂。
作者: 66666    时间: 2012-4-7 09:18
Vendicare 发表于 2012-4-7 07:39
Directx以及OpenGL 本质上都是类似dcom的抽象层。为了做到硬件无关,在程序调用DirectX 指令时需要驱动来 ...

PS3和XO没有一个游戏是真正直接利用汇编操作GPU。没有openGL es和DX中间层你游戏机一个游戏都玩不了。就是像3DS和PSV这种掌上游戏机也必须要利用到API中间层。

利用汇编直接操作硬件在32位以后游戏机历史上只有PS2和SS,而这两个恰恰是开发套件最为糟糕,也是被开发厂商骂的最多的硬件。
作者: 66666    时间: 2012-4-7 09:22
shiningwd 发表于 2012-4-6 23:53
电视能自动AA,这么先进?
电视还有计算单元?

离电视3米自动带AA,离电视5米自动带眼球PS功能
作者: zjmttt    时间: 2012-4-7 13:47
shiningwd 发表于 2012-4-6 23:53
电视能自动AA,这么先进?
电视还有计算单元?

       你玩下PS2的游戏就知道,接电视和接显示器的效果完全不同。电视因为像素排列,和像素之间点距过大的原因,加上亮度远远比普通显示器高,导致你如果用电视机玩游戏,那么绝对不会近距离玩啥,最后导致远距离视线,电视自动抗锯齿。
    实际上这个从红白机时代就是这样了。。。。
作者: 超频疯子    时间: 2012-4-7 13:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: lanyan3232    时间: 2012-4-7 13:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: lanyan3232    时间: 2012-4-7 13:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: ssse    时间: 2012-4-7 13:54
主要是游戏机游戏是针对游戏机硬件量身打造的,执行效率很高,假如专门为推土机处理器写一个操作系统,那推土机处理器也不可能是现在这种表现,就像超级计算机软件都是自己写的代码,一个道理,你看着吧,新一代游戏机画面绝对超越目前所有dx11游戏
作者: qwased    时间: 2012-4-7 18:41
你可以看看,NV,AMD每次拿出来的DEMO是不是都非常华丽?但是实际游戏想做到那个效果非常困难
作者: aeondxf    时间: 2012-4-7 21:39
66666 发表于 2012-4-7 09:18
PS3和XO没有一个游戏是真正直接利用汇编操作GPU。没有openGL es和DX中间层你游戏机一个游戏都玩不了。就是 ...

XO360的DX没有硬件抽象层这东西
作者: SnakeLee    时间: 2012-4-7 22:35
超频疯子 发表于 2012-4-7 05:48
求主机上玩全面战争系列、星际系列、帝国系列……高清视频~~~~~~

红警,冲突世界,命令与征服,光环战争,最高指挥官,兵者诡道,终结战争,文明,战锤 这几个360版我都有印象...好不好玩另说
作者: king198909    时间: 2012-4-7 23:34
bugbear 发表于 2012-4-5 22:02
就是优化的问题

主机硬件固定,好优化。

鬼泣4的PC画质至少可以调节到最爽的画质,但是主机画质不能调节,而且近看就很难看了。就成了那句“可远观而不可亵玩也”。
作者: 18378044    时间: 2012-4-8 01:19
frankincense 发表于 2012-4-6 11:25
优化很重要,好的优化可以让效率番倍
主机硬件单一,优化有重点,可以花精力充分挖掘硬件潜力;PC硬件千百 ...

你所谓的优化是指
将2048x2048的贴图缩成256x256,
将模型的5级LOD降成最低的那两级,
将植被和物品的可视范围降低到25%,
将影响角色的光源从4个减少到1个,
将阴影的分辨率从4096降低到可耻的128狗牙级吗?
还是指,
将HDR换成glare,
将cubemap换成sphere map,
将transparent换成punch through,
将Dynamic Physics换成Static animation,
将Anisotropic Filtering 换成Trilinear Filtering?
作者: Vendicare    时间: 2012-4-8 12:40
66666 发表于 2012-4-7 09:18
PS3和XO没有一个游戏是真正直接利用汇编操作GPU。没有openGL es和DX中间层你游戏机一个游戏都玩不了。就是 ...

6神,关于编程的事情呢,你就认输吧。我本科时代的毕业设计就是3D游戏。

如同开发java程序一样,对于程序的大部分代码,开发人员会直接使用java虚拟机开发;而对于性能敏感部分特别是电脑游戏会采用JNI扩展用二进制执行,这样就失去了跨平台能力;而对于性能极为敏感部分JNI中也可以嵌套ASM来进行SIMD优化。

OpenGL分LLSL和GLSL两部分。一个游戏的90%代码都会采用GLSL这种高级语言编写,这样可以保证开发质量与速度。高级着色器语言所编写的代码会交给shader虚拟机运行,理论上讲用GLSL编译器编译出来的程序在A/N卡上没多大性能区别。

但是在性能敏感领域还是要用到vertex program以及fragment program这样的LLSL来优化性能的。这就是为什么有些游戏在不同的显卡上性能差异很大。

在更为敏感领域会调用ASM代码,直接最优化性能。但是由于ASM代码可维护性与跨平台性极差(极可能换块显卡不能用),所以这种程序在PC领域极为少见。
作者: 66666    时间: 2012-4-8 18:00
本帖最后由 66666 于 2012-4-8 18:13 编辑
Vendicare 发表于 2012-4-8 12:40
6神,关于编程的事情呢,你就认输吧。我本科时代的毕业设计就是3D游戏。

如同开发java程序一样,对于程 ...

你扯了这么多请告诉我跟你所谓XO/PS3使用汇编写游戏关系在哪?

哪个XO/SP3游戏实例用到汇编语言?

B3D上从未有开发者谈到过关于PS3/XO汇编的问题,XO/PS3时代90%都是跨平台,在多平台时代用汇编绕过API写游戏更是胡扯蛋
作者: nom8393    时间: 2012-4-8 18:34
66666 发表于 2012-4-8 18:00
你扯了这么多请告诉我跟你所谓XO/PS3使用汇编写游戏关系在哪?

哪个XO/SP3游戏实例用到汇编语言?

他的意思是底层的Shader Language=汇编。我觉得这两个也就是相而已,实际还是不一样的。更何况现在对于底层接口的封装和自动优化越来越好,写最原始的Shader的机会也少了。
作者: luofengqiao    时间: 2012-4-8 20:38
简单来说,PC端无论是游戏还是操作系统要考虑硬件兼容性,驱动兼容性,软件兼容性,可升级性等等,所以为了妥协,在资源利用率上,远不如主机。
另外,主机的硬件都是定制的,往往没有多余的功能,所有的晶体管都是为了游戏运算做服务。所以,相同规模的晶体管数量下,实际游戏性能是比桌面平台的硬件高一些的。
作者: Vendicare    时间: 2012-4-8 22:57
本帖最后由 Vendicare 于 2012-4-8 23:01 编辑
66666 发表于 2012-4-7 09:18
PS3和XO没有一个游戏是真正直接利用汇编操作GPU。没有openGL es和DX中间层你游戏机一个游戏都玩不了。就是 ...

你是一行代码都没写过吧?现代计算机程序里没什么软件是全用ASM写的,也没几个游戏不用ASM。全用ASM程序没有可维护性,几十k的程序过几年开发者自己都看不明白了。完全不用asm写效率偏低,用户体验不很好。截至目前完全没用ASM的ps3游戏估计还没出来,完全用asm写就的ps2游戏也不存在。

不管是SSE还是SPU这些SIMD系统都没法靠编译器自动优化(自动优化性能提升几乎可以忽略)。除非有能够自动理解上下文语义的超级编译器出现,否则ASM永远都是编写程序中性能敏感部分的主要工具之一。

用全SPE性能的代码示例(要是什么东西都能用C++解决,程序员就不这么苦逼了):
.data

#This is the struct we will copy from the main PPE process
.align 4
conversion_info:
conversion_length:
        .octa 0
conversion_data:
        .octa 0
.equ CONVERSION_STRUCT_SIZE, 32

.section .bss #Uninitialized Data Section

#This is the buffer we will store the string in
.align 4
.lcomm conversion_buffer, 16384

.text

#MFC Constants
.equ MFC_GET_CMD, 0x40
.equ MFC_PUT_CMD, 0x20

.equ LR_OFFSET, 16

.global main
.type main, @function
.equ MAIN_FRAME_SIZE, 32
main:
        #Prologue
        stqd $lr, LR_OFFSET($sp)
        stqd $sp, -MAIN_FRAME_SIZE($sp)
        ai $sp, $sp, -MAIN_FRAME_SIZE

        ##COPY IN CONVERSION INFORMATION##
        ila $3, conversion_info         #Local Store Address
        #register 4 already has address #64-bit Effective Address
        il $5, CONVERSION_STRUCT_SIZE   #Transfer size
        il $6, 0                        #DMA Tag
        il $7, MFC_GET_CMD              #DMA Command
        brsl $lr, perform_dma

        #Wait for DMA to complete
        il $3, 0
        brsl $lr, wait_for_dma_completion

        ##COPY STRING IN TO BUFFER##
        #Load buffer data pointer
        ila $3, conversion_buffer #Local Store
        lqr $4, conversion_data   #64-bit Effective Address
        lqr $5, conversion_length #SIZE
        il $6, 0                  #DMA Tag
        il $7, MFC_GET_CMD        #DMA Command
        brsl $lr, perform_dma

        #Wait for DMA to complete
        il $3, 0
        brsl $lr, wait_for_dma_completion

        ##PERFORM CONVERSION##
        ila $3, conversion_buffer
        lqr $4, conversion_length
        brsl $lr, convert_buffer_to_upper

        ##COPY DATA BACK##
        ila $3, conversion_buffer   #Local Store Address
        lqr $4, conversion_data     #64-bit effective address
        lqr $5, conversion_length   #Size
        il $6, 0                    #DMA Tag
        il $7, MFC_PUT_CMD          #DMA Command
        brsl $lr, perform_dma

        #Wait for DMA to complete
        il $3, 0
        brsl $lr, wait_for_dma_completion

        ##EXIT PROGRAM##
        #Return Value
        il $3, 0

        #Epilogue
        ai $sp, $sp, MAIN_FRAME_SIZE
        lqd $lr, LR_OFFSET($sp)
        bi $lr
作者: Vendicare    时间: 2012-4-8 23:10
nom8393 发表于 2012-4-8 18:34
他的意思是底层的Shader Language=汇编。我觉得这两个也就是相而已,实际还是不一样的。更何况现在对于底 ...

LLSL本来就有汇编功能,就如最常用的汇编程序其实是C++。
作者: 66666    时间: 2012-4-9 07:18
Vendicare 发表于 2012-4-8 22:57
你是一行代码都没写过吧?现代计算机程序里没什么软件是全用ASM写的,也没几个游戏不用ASM。全用ASM程序没 ...

好笑,你看清楚我说的话吗?

XO/PS3上面有哪个游戏用汇编绕过API直接控制GPU硬件?


作者: 66666    时间: 2012-4-9 08:20
nom8393 发表于 2012-4-8 18:34
他的意思是底层的Shader Language=汇编。我觉得这两个也就是相而已,实际还是不一样的。更何况现在对于底 ...

无论什么形式编写的shader代码都会受到API限制,即使你用7970/680在XP系统上使用DirectX shader Model4.0格式shader代码一样也用不了,不管你是HLSL,CG还是ASM。

把这种形式跟汇编等同简直胡扯。
作者: Vendicare    时间: 2012-4-9 09:26
本帖最后由 Vendicare 于 2012-4-9 13:45 编辑
66666 发表于 2012-4-9 07:18
好笑,你看清楚我说的话吗?

XO/PS3上面有哪个游戏用汇编绕过API直接控制GPU硬件?

你以为PS3 SDK中的libgcm库里那些直接调用command buffer的函数是干吗用的?

写了这么多根本是你没看我说话:ASM代码几乎在所有PS3游戏中存在,游戏机开发商比PC游戏开发商更愿意使用ASM(无论是对CPU还是对显卡)。
作者: Vendicare    时间: 2012-4-9 09:35
66666 发表于 2012-4-9 08:20
无论什么形式编写的shader代码都会受到API限制,即使你用7970/680在XP系统上使用DirectX shader Model4.0 ...

http://msdn.microsoft.com/en-us/library/windows/hardware/ff552841(v=vs.85).aspx

微软桑心不已..................
作者: YY小熊猫    时间: 2012-4-9 16:34
这图全靠美工也能做到啊,FM4的截图随便拿一张出来都有这画质,实际画面根本达不到。




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