注册 | 登录

游侠NETSHOW论坛





查看: 2833|回复: 14
打印 上一主题 下一主题

[杂谈] GTA4对硬件要求bt的原因——软硬勾结zz [复制链接]

帖子
8
精华
0
积分
4
金钱
43
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2008-12-29 12:41:21 |只看该作者 |倒序浏览
转自3DM

为何GTA4 PC版要求高得离谱?

答案:GTA4 PC版根本没有经过任何优化,纯粹就是糊弄人的移植。不相信?

看看这段代码:

SetRenderState(p,a,b)
RenderState22 1
SetVertexShader(p,a)
SetVertexShaderConstantF(p,a,b,c)
SetPixelShader(p,a)
SetTexture(p,a,b)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetSamplerState(p,a,b,c)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,D
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,a
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,v
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,e
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,i
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,s
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,n
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,o
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,t
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,c
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,o
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,m
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,i
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,n
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,g
SetRenderState(p,a,b)
RenderState22 1
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)
FontIndex 1,.

这么多次调用,就是干了一件事:显示了一个“Dave is not coming.”
稍微懂行的人,就会知道,实际上这件事只用这么几行就行了:

SetRenderState(p,a,b)
SetVertexShaderConstantF(p,a,b,c)
SetTexture(p,a,b)
SetVertexDeclaration(p,a)
SetStreamSourceFreq(p,a,b)
SetStreamSourceFreq(p,a,b)
SetStreamSource(p,a,b,c,d)
DrawPrimitive(p,a,b,c)

不过还不算完,上面的代码竟然在一桢中重复了足足五次!也就是,平白无故的多了15*5*8=600次Directx调用。
随便再NB的机器也跑不动。这还仅仅是显示几个字符,游戏程序其他地方的优化大家可以想象了

这样的代码完全是程序员故意的,是软硬勾结的最典型范例而已

[ 本帖最后由 FalloutIII 于 2008-12-29 13:12 编辑 ]

使用道具 举报

帖子
302
精华
0
积分
152
金钱
856
荣誉
0
人气
0
评议
0
沙发
发表于 2008-12-29 12:52:31 |只看该作者
专业选手 [支持] [支持] [支持]

使用道具 举报

帖子
623
精华
0
积分
312
金钱
1784
荣誉
0
人气
1
评议
0
板凳
发表于 2008-12-29 12:53:17 |只看该作者
楼主那里找到这些代码的?
哪个文件夹?。。。。。。。。。。。。。。。
PE2160 OC 3.6 (400*9)
黑潮BI-100
OC 3 东海
Kingston 1G DDR2 800 *2+2G DDR2 800 *2
希捷250G 7200.10+希捷640G+西数1.5T
蓝宝 3850 蓝燳天刃 512 Pro
优派 VX2260WM

使用道具 举报

帖子
10088
精华
0
积分
5074
金钱
4530
荣誉
3
人气
0
评议
0

地板
发表于 2008-12-29 12:53:39 |只看该作者
本来就是这样~
都没指望PC版能卖多少
反正硬件商给钱

使用道具 举报

帖子
2665
精华
0
积分
1353
金钱
1255
荣誉
2
人气
0
评议
0
5#
发表于 2008-12-29 13:01:22 |只看该作者
楼主是用ollydbg反编的? [汗水]

使用道具 举报

帖子
22
精华
0
积分
11
金钱
258
荣誉
0
人气
0
评议
0
6#
发表于 2008-12-29 13:02:05 |只看该作者
这是转自隔壁汉化组发的帖子。
昨天在隔壁看过。据说春节期间就能发布中文版了。

使用道具 举报

帖子
29
精华
0
积分
15
金钱
393
荣誉
0
人气
0
评议
0
7#
发表于 2008-12-29 13:03:49 |只看该作者
想了解用的是什么反编译软件?

暴力破解20字

使用道具 举报

帖子
2551
精华
0
积分
1286
金钱
1807
荣誉
1
人气
0
评议
0
8#
发表于 2008-12-29 13:05:31 |只看该作者
LZ这转贴转的有技术...  就转一段

使用道具 举报

帖子
843
精华
0
积分
422
金钱
830
荣誉
0
人气
0
评议
0
9#
发表于 2008-12-29 13:12:40 |只看该作者
想問一下這帖發了多少遍
COD6 ID:
KAKAKAKAKAKA

使用道具 举报

帖子
33
精华
0
积分
17
金钱
235
荣誉
0
人气
0
评议
0
10#
发表于 2008-12-29 13:31:35 |只看该作者
看不懂,顶一下! zzzzzzzzzzzzzzzzzzzzzz

使用道具 举报

帖子
492
精华
0
积分
246
金钱
632
荣誉
0
人气
0
评议
0
11#
发表于 2008-12-29 13:34:28 |只看该作者
恩,看过了,是3dm汉化组做汉化时发现的.

使用道具 举报

SA☆O.G.Loc

帖子
1456
精华
2
积分
1129
金钱
4228
荣誉
0
人气
0
评议
0
12#
发表于 2008-12-29 13:34:40 |只看该作者
不是已經有人說過是假的嗎?????????

使用道具 举报

帖子
1156
精华
0
积分
578
金钱
654
荣誉
0
人气
0
评议
0
13#
发表于 2008-12-29 13:41:30 |只看该作者
进来拿个分吧 小鸟一只 什么都看不懂..
๑۩۞۩๑☜♥☞๑۩۞۩๑

使用道具 举报

信徒
N.F.S※车夫

帖子
9683
精华
0
积分
5131
金钱
5143
荣誉
28
人气
25
评议
0

14#
发表于 2008-12-29 13:43:08 |只看该作者
如果是真的,,,有没有高手简化一下代码呢?

如果这是不能做到的事情,,,那么我们就继续装不知道吧。。。。。难道你还闹情绪不玩GTA吗?

使用道具 举报

帖子
3445
精华
0
积分
1726
金钱
4039
荣誉
0
人气
0
评议
0
15#
发表于 2008-12-29 14:09:48 |只看该作者
要是有超级高手,可以从新写一遍代码就好了。哈哈

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-6-6 23:23 , Processed in 0.348607 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到