游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3205|回复: 9

问一下:大家都是用何种方式滚屏的?

[复制链接]

77

主题

203

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
发表于 2005-3-10 09:18:00 | 显示全部楼层 |阅读模式
见过http://dev.gameres.com/Program/Abstract/Thinking/Gunping.htm的这篇文章,上面介绍说用bilfast和blt函数实现滚屏很慢,这是为什么呢?还有,大家又是采取何种方式滚屏的?莫非也都是用此文章介绍的软件方法来实现?

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20686
发表于 2005-3-10 16:19:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

文章里意思可能是说要用flip来进行滚屏,这样可以减少内存copy时造成的画面撕裂。

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2005-3-10 16:23:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

不用搞得这么复杂吧?bilfast和blt函数实现滚屏速度并不是很慢啊?完全可以让人接受,最主要的还是使用起来比较方便!^_^

37

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2005-3-10 16:41:00 | 显示全部楼层

Re: Re:问一下:大家都是用何种方式滚屏的?

文章里意思可能是说要用flip来进行滚屏,这样可以减少内存copy时造成的画面撕裂。

我认为不是这样的。
我的理解是这样的,这篇文章的意思应该是利用模拟硬件滚屏的技术来减少往off-screen surface传送图象。从off-screen到primary surface的过程并没有优化。
给个简单的例子。假设一个横行卷轴的游戏。我们设定屏幕有100列,^_^,那么当我们让屏幕向右移动10个象素的时候,我们假设整个画面没有变化,那么这个时候,对于离屏表面来说,比较前后两帧,前一帧和或一帧不同的就是右边的10个象素宽的区域。我们只需更新这个区域就可以了。
不知道对不对。:)

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2005-3-10 17:46:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

如果场景有很多动态内容,那种仿硬件滚屏是不是没有多少速度优势了

37

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2005-3-10 20:46:00 | 显示全部楼层

Re: Re:问一下:大家都是用何种方式滚屏的?

funcman: Re:问一下:大家都是用何种方式滚屏的?

如果场景有很多动态内容,那种仿硬件滚屏是不是没有多少速度优势了

当然,还得加上dirty rect的机制来对整个画面进行优化,毕竟前后两帧完全不同的几率是很低的。

24

主题

229

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2005-3-10 22:17:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

我还是不明白,如果向右移动10各象素,那么整个屏幕都应该向右移动10各项素,为什么只更新一部分呢?请各位指教。

2

主题

89

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2005-3-11 16:05:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

屏幕全移,但内存没有全动啊

26

主题

324

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
QQ
发表于 2005-3-11 16:59:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

嗯,只更新不同的象素确实可以加快显示的速度。

2

主题

89

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2005-3-11 17:23:00 | 显示全部楼层

Re:问一下:大家都是用何种方式滚屏的?

不过实现起来容易有漏洞
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 18:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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