游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3161|回复: 8

优化,优化,再优化。

[复制链接]

7

主题

119

帖子

126

积分

注册会员

Rank: 2

积分
126
发表于 2004-12-4 00:13:00 | 显示全部楼层 |阅读模式
这里做一个抛砖引玉。大家把自己做程序时的时候一些优化处理的方法在这里说出来。
不管你是哪个公司还是独立个人。把自己的一些小经验好办法。或者是自己对那些方面有好的想法。都在这里拿出来。让大家互相交流学习共同进步。为中华网游事业出点力吧。也许,你的一个什么好办法。就使得游戏行业乃至整个软件行业前进几十年也说不定哟。

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2004-12-4 18:43:00 | 显示全部楼层

Re:优化,优化,再优化。

把一些循环拆成很多单条做,看起来很恶心,效率第一啊.

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2004-12-4 19:30:00 | 显示全部楼层

Re:优化,优化,再优化。

把一些 函数 用 宏 代替,没开销,快.

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2004-12-4 20:54:00 | 显示全部楼层

Re:优化,优化,再优化。

inline functions

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2004-12-5 11:05:00 | 显示全部楼层

Re:优化,优化,再优化。

常数用const,
常用函数用inline,
必要的地方用汇编写,
编译器永远不会比程序员的大脑更聪明!

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-12-5 14:11:00 | 显示全部楼层

Re:优化,优化,再优化。

1、使用全局变量
2、将编码规则设成586及以上的系统
3、尽量使用32位数据类型,避免为了省空间而用16位甚至8位数据,这样边界对齐的效果较好
4、使用查表法代替实时运算
5、尽可能计算所有可以预先计算的东西
6、但是有些时候直到使用一个值的时候才去计算它
7、不要将类的继承作的过多,这样自己也糊涂,效率也不高
8、循环展开大概在4-8次比较合适
9、在乘法运算中,尽量让乘数大于被乘数
10、大脑是最好的优化机,虽然汇编可能是最好的手段,但是一个差的程序用汇编也不会有太好的效果

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2004-12-5 17:25:00 | 显示全部楼层

Re:优化,优化,再优化。

楼上的强,同意

1

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2004-12-5 19:34:00 | 显示全部楼层

Re:优化,优化,再优化。

哈,举例子来得比较直观

例子一

class A
{
public:
    non-inline A* GetA();
    void func();
};

// 方法一
for(int i =0; i < 1000; i++)
{
     obj->GetA()->func();
    ......
}

// 方法二
A* a = obj->GetA();
for(int i =0; i < 1000; i++)
{
     a->func();
    ......
}

例子二
// 方法一
for(int i = 0; i < 1000; i++)
{
for(int j = 0; j < 1000; j++)
{
    a[j] = b;
}
}

// 方法二
for(int i = 0; i < 1000; i++)
{
    x = b;
for(int j = 0; j < 1000; j++)
{
    a[j] = x;
}
}

// 以前写程序很习惯用方法一,觉得代码简洁,现在用方法二,觉得效率更重要^_^ [em5] [em5] [em5]

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2004-12-8 10:10:00 | 显示全部楼层

Re:优化,优化,再优化。

优化固然是好事
不过过了反而劳民伤财
应该有个平衡点才行
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 14:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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