游戏开发论坛

 找回密码
 立即注册
搜索
楼主: sea_bug

我们的代码真的有效率吗?

[复制链接]

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2005-2-23 11:08:00 | 显示全部楼层

Re: Re: Re: Re: 我们的代码真的有效率吗?

Civilian: Re: Re: Re: 我们的代码真的有效率吗?


老兄,你怎么知道编译器处理后是这个样子?不一定的,说不定编译器给你优化得更好


我有反汇编看编译后的代码啊

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-2-23 12:07:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

没话说了,晕死

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2005-2-23 12:29:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

游戏所有逻辑做到程序里了?没有脚本系统?
90W,太多了吧.

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2005-2-23 13:20:00 | 显示全部楼层

Re: Re: Re: 我们的代码真的有效率吗?

我也是一个优化狂,我看到OPENGL扩展库glu中的汇编代码不是很好的,我都舍得花1天的时间去研究,自己模仿它的思路,然后写个优化的函数,计算CPU流水线,

我宁愿把
a /= y;
b /= y;
c /= y;
写成
x = 1 / y;
a *= x;
b *= x;
c *= x;

来为节省CPU几十个时周期,因为乘法比除法快。

可不能任何时候都想当然哦,现在的CPU已经非常复杂了,流水线的级那么多。但最开始肯定是要fetch指令和数据的,你这个例子很典型,在你的做法中,后几条代码(指令)显然需要等待第一条指令完成后才能fetch, 如果CPU的流水线很长,未必会有1执行的快。
应用程序优化应该放在算法和架构的优化上,而不是想当然的高级语言->汇编的“优化”。

38

主题

96

帖子

148

积分

注册会员

Rank: 2

积分
148
发表于 2005-2-23 13:45:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

以上优化方法不可取, 这些指令本身可能有问题, 你面对的是不同的机器 条件。
在不同的机器上可能完全是不一样的。你的结果极有可能以后会为某种类型的机器
再作一次修改和补丁。而且极大破坏了可读性,起码要让人看两遍这几句。

起码另一人,如果需要每个人都看一遍, 那么,你就影响整个团队的工作效率 2秒。

这样积攒下来, 项目延期个半年还是没问题的。

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2005-2-23 15:16:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

提一句,计算除法比乘法慢是所有通用处理器的通病…………那个优化方法确实是通用的。
rtr上提到过,还提到了有快速计算低精度倒数的硬件支持。
现在觉得linux真爽,程序是本地编译的,编译器可以狂做优化。

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2005-2-23 15:24:00 | 显示全部楼层

Re: Re: Re: Re: 我们的代码真的有效率吗?

你提到了流水线,也正是我想说到的。我就是考虑到除法太耗流水线才这么做的。
对于多数CPU来说,10个乘法都比1个除法快。如果3个除法放一起,那得耗多少流水线周期?

kypck: Re: Re: Re: 我们的代码真的有效率吗?


可不能任何时候都想当然哦,现在的CPU已经非常复杂了,流水线的级那么多。但最开始肯定是要fetch指令和数...

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2005-2-23 17:17:00 | 显示全部楼层

Re: Re: Re: 我们的代码真的有效率吗?

bluefire9213: Re: Re: 我们的代码真的有效率吗?



我也是一个优化狂,我看到OPENGL扩展库glu中的汇编代码不是很好的,我都舍得花1天的时间去研究,自己模...


我认为楼主说的根本就不是这个东西

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2005-2-23 17:30:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

代码优化做到这一层次上真的有这个必要吗?我认为不禁让代码更加难读,而且也不见得有多大的成效,程序优化的地方应该是针对瓶颈处,一个除法上的优化比起一个io操作那简直就是不值一提的。

楼主此贴的意思恐怕不是想提醒在这方面,而是指我们在做一个项目时,应该注意让程序的架构更合理、接口更清晰,而不是想到什么就写什么。
不要认为仅仅为了尽快实现策划的要求而不加思考的仅为实现功能就是快速了,实际上到后期你想要修改bug的时候很可能让你放弃,涉及游戏的东西我也认为应该尽可能的由编辑器、脚本等来设计,而不是写在程序代码中,这样你永远不可能追上策划的变动。

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2005-2-23 17:41:00 | 显示全部楼层

Re:我们的代码真的有效率吗?

这里又不是奥林匹克,有必要做到最快么?
程序设计是效率,结构,可读的综合。
除了这些之外,还有各种成本。
时间成本,人员成本等等。
用一天时间优化OpenGL?应该只是兴趣吧。


做游戏是很现实的东西,不是理论者。
每秒60刷新就足够了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-25 10:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表