游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3817|回复: 15

我的Alpha怎么这么慢呢?

[复制链接]

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
发表于 2004-10-11 13:31:00 | 显示全部楼层 |阅读模式
我用金点时空里的下面这段代码贴图。可是FPS好慢是为什么?
请问大家有没有快点的方法?
inline WORD _Alpha_Pixel(WORD sour, WORD dest, int alpha)
{
        //非inline版的这个函数有详细的注释
        rgbTemp =  ((((sour<<16)|sour) & rgbMask ) * alpha +
                                        (((dest<<16)|dest) & rgbMask ) * (32-alpha) ) >> 5;
        rgbTemp = rgbTemp & rgbMask;
        return (WORD)((rgbTemp>>16)|rgbTemp);
}

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 13:42:00 | 显示全部楼层

Re: 我的Alpha怎么这么慢呢?

下面是图片.....
Text部分用GDI显示.
sf_20041011134231.jpg

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 13:43:00 | 显示全部楼层

Re: 我的Alpha怎么这么慢呢?

下面是程序.
对了忘记说了,窗体可以拖动。当把窗体拖出屏幕的时候FPS会明显加快

sf_20041011134342.rar

141.93 KB, 下载次数:

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 13:51:00 | 显示全部楼层

Re: 我的Alpha怎么这么慢呢?

把那个半透明的窗体拖到屏幕外去速度还好,可以到300多的FPS
sf_2004101113510.jpg

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-11 15:13:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

你在那里做的Alpha 操作啊

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 15:57:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

我在backbuffer呀

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-11 15:58:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

先在内存里做Alpha操作然后Blt到主表面

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-11 16:33:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

MMX

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 18:12:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

汗~~汇编学是学过,不过好象没那么叼~用MMX……而且已经2年没用了。

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2004-10-11 20:40:00 | 显示全部楼层

Re:我的Alpha怎么这么慢呢?

我刚刚试了一下在内存里_Alpha_Pixel好了,然后再BLTFAST回去,好象差不多耶?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 00:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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