游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: psic

为什么优化了的代码反而更慢了……

[复制链接]

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-2-24 20:34:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

正常来讲
IF ... THEN ... 比  A=A+n*b 速度快

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
 楼主| 发表于 2007-2-24 20:50:00 | 显示全部楼层

Re: Re:为什么优化了的代码反而更慢了……

游戏之家站长: Re:为什么优化了的代码反而更慢了……

正常来讲
IF ... THEN ... 比  A=A+n*b 速度快


不要凭感觉……要从实际出发……

http://blog.csdn.net/zyl910/archive/2006/10/11/1330614.aspx

“在编写图象处理程序时,经常出现RGB值超过[0, 255]范围的情况。这时,得做饱和处理,将越界数值饱和到边界,即这样的代码:
if (r <   0) r =   0;
if (r > 255) r = 255;
if (g <   0) g =   0;
if (g > 255) g = 255;
if (b <   0) b =   0;
if (b > 255) b = 255;
  但这样的代码执行效率是很低的。这是因为if区块会编译成跳转指令,而跳转指令对于严重影响现代超流水线CPU的流水线效率……”

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-2-24 20:58:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

不是凭感觉,在BASIC里就是

IF ... THEN ...速度最快, VB里也是,VB.NET我想也一样。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-2-24 21:03:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

微小的差距可以通过大量重复的计算来看出。

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
 楼主| 发表于 2007-2-24 21:14:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

经测试,大约要快40%左右

6

主题

396

帖子

396

积分

中级会员

Rank: 3Rank: 3

积分
396
发表于 2007-2-24 21:28:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

能快这么多?

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-2-25 09:19:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

RGB值超过[0, 255]范围,什么图像会这样?

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-2-26 15:44:00 | 显示全部楼层

Re: Re:为什么优化了的代码反而更慢了……

游戏之家站长: Re:为什么优化了的代码反而更慢了……

正常来讲
IF ... THEN ... 比  A=A+n*b 速度快


有这么比的么

n长时间没有来GameRes了,发现很多地方都变了
高手走了不少

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2007-2-26 20:10:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

我只是举个例子,VB里IF THEN 最快。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-2-27 15:45:00 | 显示全部楼层

Re:为什么优化了的代码反而更慢了……

If Then 多判断了还要多跳转,怎不知道怎么会反而快。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 13:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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