游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3025|回复: 3

关于部分更新

[复制链接]

7

主题

30

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2003-10-15 17:54:00 | 显示全部楼层 |阅读模式
看到HOHO带的例子中的FPS大都是5,6,基本没有大于10的。而这里的一个图例中,我看到的FPS可以达到300多,说的是部分更新。
想知道这到底是怎么做到的,用到的是那几个函数。

sea-bug,个人觉得应该好好把文档完善一下,引擎中自带的基本上是一个函数手册,对于面向对象的开发,不知道大多数函数的调用顺序,和为了完成某一个功能应该调用什么的函数,真的很痛苦,除了自己看代码没什么好方法了!

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2003-10-15 21:18:00 | 显示全部楼层

Re: 关于部分更新

例子都只有5,6帧? 那可能哪里有问题,不应该那么低的。

局部刷新的处理我没有把文档给出,实际上还没考虑将其开放,虽然现在可以用。

接下来我可以就局部刷新功能模块的应用来做个简单说明。
我们就以HoHo附带的例子作为参考:

GetGraphics()-&gtutBitmap( 120, 90, g_pEggBitmap, PUT_TYPE_BITMAP );

// 更新缓冲区
g_pDisplay->Render( );
g_pDisplay->Present( );

使用就是如上方法,用PutBitmap来进行绘图,而不是用Draw...()系列,如果要绘制Alpha等其他效果,改变PUT_TYPE_BITMAP就行,具体参数在例子里有说明。

这里需要注意,局部刷新有限制的地方,
一、不能使用绘制图形以外的其他操作,比如:绘制文字、绘点等。
二、每次Render()作为一次循环,调用了Render()后再进行绘制将会被累计到下次一次Render()处理。

暂时就想到这里,呆会有想到再补充。 [em1]

7

主题

30

帖子

32

积分

注册会员

Rank: 2

积分
32
 楼主| 发表于 2003-10-16 08:46:00 | 显示全部楼层

Re:关于部分更新

还有个问题想问一下,那个FPS真的可以达到300多么?不是说为了防止闪烁,FPS最大也不应该大于显示器的刷新率么?

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2003-10-16 10:01:00 | 显示全部楼层

Re:关于部分更新

窗口下可以突破刷新率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-21 03:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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