QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1097|回复: 14

sdl大侠过来帮帮忙!

[复制链接]
发表于 2004-5-7 12:01:26 | 显示全部楼层 |阅读模式
sdl(simple directmedia layer)
sdl似乎先在一个background buffer中修改象素,然后updateRect()到front display  buffer.这样可以去掉(减少)闪烁.
可是有时候不需要这样的操作,能提供直接修改front buffer就好了。
特别是那些修改的象素的位置不和以前的重复的情况。
哪位大侠知道,指点一下。
谢谢先!
  急亚!!!
发表于 2004-5-7 14:36:14 | 显示全部楼层
没想过这个问题  干吗要直接改front buffer呢?  background buffer里改不是满好吗?
回复

使用道具 举报

 楼主| 发表于 2004-5-7 17:23:50 | 显示全部楼层

原因如下:

double buffer是比较耗系统资源的。
我做过试验当系统负载较高时候。是很难保证fps达到人眼无法觉察的(尤其是全屏)。
  对于一些比较特殊的应用,ex 雷达扫描:下一frame不改变前一frame
已经画过的地方,或者很少。用doubel frame显然是效率很低的。
  很着急亚。没人帮忙?
回复

使用道具 举报

发表于 2004-5-7 21:13:54 | 显示全部楼层
en
说的有道理   不过我不知道  问问sdl的maillist吧
qianbohound, 把你的代码给我看看  好吗  学习学习
回复

使用道具 举报

发表于 2004-5-10 21:42:51 | 显示全部楼层
和你们探讨一下啊。
我看到的有关SDL的double buffer的讲解大致是这样的,它一般是不用UpdateRec的,在画图的时候是画在第二个buffer上的,然后用SDL_Flip(surface)来交换两个buffer的(如果没有用double buffer,它只是简单的update当前的buffer,就和UpdateRec一样了),因为是直接的内存拷贝,所以速度是非常快的,而且现在的显示卡都有专门的方法来加速这个拷贝的过程,所以,肉眼根本感觉不到。double buffer 能完全解决屏幕闪烁和画图不全的问题。在负载比较大的时候,或者机器性能有限的时候,这是很好的解决问题的方法。而且,我也用程序测试过,不用double buffer和用double buffer,效果的确是又不同(速度和流畅平滑度)。

我也是随便就这个问题说说,因为最近正在看有关SDL的书。说得不对,大家指正啊。
回复

使用道具 举报

发表于 2004-5-10 22:07:54 | 显示全部楼层
你有 sdl的书  是真的书还是 电子书?
回复

使用道具 举报

发表于 2004-5-11 00:09:01 | 显示全部楼层
pdf的,呵呵,本来准备在amazon上买真书的,可是偶然发现了一个download的pdf的,呵呵,就以迅雷不及掩耳盗铃之势down了下来 :)

《Programming Linux Games》
   2001, Loki Software, Inc.
  是以SDL库来讲解linux游戏的制作的。
回复

使用道具 举报

发表于 2004-5-11 09:38:50 | 显示全部楼层
喔  这本书我也有  不过是e文的
回复

使用道具 举报

发表于 2004-5-11 12:52:39 | 显示全部楼层
其实SDL自带的文档也很好的~
回复

使用道具 举报

发表于 2004-5-11 19:26:28 | 显示全部楼层
請教一下, background buffer你開啟的是RGB的Format的嗎? 是否可以為YUV呢?
因我目前試的結果, YUV一定要為Overlay的方式, 不能為background buffer. 而在console mode下, overlay 貼圖, 圖會抖, 而且比RGB的方式慢太多了. 在Xwindows下, YUV占比較多的CPU.
回复

使用道具 举报

发表于 2004-5-11 21:48:14 | 显示全部楼层
yunfan, 你在哪DOWN的电子书,贴个链接罢。
回复

使用道具 举报

发表于 2004-5-12 09:59:06 | 显示全部楼层
在控制台下,好像直接写framebuffer更好一些

书的链接,让我找一下,稍后贴出来
回复

使用道具 举报

发表于 2004-5-13 12:45:06 | 显示全部楼层
这是< programming linux games>得下载地址,快下吧

http://glh.sourceforge.net/doc/p ... an-it-this-time.pdf
回复

使用道具 举报

发表于 2004-5-20 23:06:57 | 显示全部楼层
谢谢!
回复

使用道具 举报

发表于 2004-5-20 23:29:24 | 显示全部楼层
欢迎访问我的网站http://linside.8u8.com,我喜欢用SDL写一些有用的东西,只是工作太忙了,有两个游戏只做了框架就没时间写了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:51 , Processed in 0.037743 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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