注册
登录
会员
标签
鲜花鸡蛋
插件
帮助
Linux伊甸园论坛
»
Linux嵌入式应用
» [求助]请教一个FrameBuffer速度的问题
‹‹ 上一主题
|
下一主题 ››
12
1
2
››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[求助]请教一个FrameBuffer速度的问题
alldying
初来乍到
注册用户
帖子
21
精华
0
积分
7
鲜花
0
鸡蛋
0
在线时间
4 小时
发短消息
加为好友
当前离线
楼主贴
大
中
小
发表于 2006-10-24 17:57
只看该作者
[求助]请教一个FrameBuffer速度的问题
我正用一块基于at91rm9200的板子开发,用的是Epson的S1D13506显示芯片,因为产品特性,我需要图形,但是不需要图形界面,只要把要显示的内容(汉字、图片等)显示出来就行,不需要窗口、按钮等交互界面,所以我选择了用FrameBuffer。
今天我写了个小程序测试,在一个100*640的矩形了,以逐行上滚的方式显示一些汉字时,发现滚动速度很慢,中间没有任何的认为延时。我的过程大概是这样:
定义两个char *指针fbp和fbp1,再定义一个数组TextBuffer[100][640],fbp是显存在内存中的映射,fbp1是显存缓存,TextBuffer是汉字对比字模转换后的点阵内容,循环100次,每次把TextBuffer写到fbp1后再用memcpy到fbp1,结果是可以逐行向上滚动直到写满整个100*640的矩形,只是速度很慢,达不到我的要求。
请问各位兄,是我的程序算法有问题,还是FrameBuffer本身就达不到这种要求呢?不过好象也有一些比较大的GUI图形库也以FrameBuffer为基础,还是我对FameBuffer用法有问题呢,是不是要直接操作显卡S1D13506的寄存器,进行硬件加速呢,请各位有经验,比较熟悉这方面的兄弟介绍一下吧,谢谢!
UID
165994
帖子
21
精华
0
积分
7
贡献积分
0
论坛活跃
16
公关推广
10
鲜花
0
鸡蛋
0
在线时间
4 小时
注册时间
2006-8-31
最后登录
2008-1-11
查看详细资料
TOP
AIKO_sex
认证会员
伊甸园杰出贡献会员
帖子
11648
精华
20
积分
156
鲜花
0
鸡蛋
0
在线时间
293 小时
发短消息
加为好友
当前离线
呵呵抢到沙发了
大
中
小
发表于 2006-10-25 14:34
只看该作者
是循环一次就写一次?
象一阵风 拂过我身边 忽然间 想要去很远 和你去看繁华世界
UID
12054
帖子
11648
精华
20
积分
156
贡献积分
53
论坛活跃
491
公关推广
15
鲜花
0
鸡蛋
0
在线时间
293 小时
注册时间
2002-3-20
最后登录
2008-7-8
查看详细资料
TOP
jojolin
初来乍到
注册用户
帖子
11
精华
0
积分
6
鲜花
0
鸡蛋
0
在线时间
0 小时
发短消息
加为好友
当前离线
板凳位置
大
中
小
发表于 2006-10-27 09:52
只看该作者
你用的是什么内核哦
我原来用2.6的,也是用你类似的双缓冲方法绘制位图,速度也是相当的慢
现在我用2.4的,应用程序没有做任何改变就跑的很快...
我也很郁闷哦...
UID
161834
帖子
11
精华
0
积分
6
贡献积分
0
论坛活跃
11
公关推广
10
鲜花
0
鸡蛋
0
在线时间
0 小时
注册时间
2006-6-29
最后登录
2007-4-4
查看详细资料
TOP
alldying
初来乍到
注册用户
帖子
21
精华
0
积分
7
鲜花
0
鸡蛋
0
在线时间
4 小时
发短消息
加为好友
当前离线
只剩马扎了
大
中
小
发表于 2006-11-7 09:42
只看该作者
谢谢AIKO_sex,是循环一次就写一次,因为我是要内容慢慢从下往上走,所以每循环一次显示内容都要更新。
谢谢jojolin,我用的就是2.4的内核啊,你的问题解决了吗?方便的话能把你的这部分的代码给我参考一下吗?frewasdf@163.com,谢谢!
UID
165994
帖子
21
精华
0
积分
7
贡献积分
0
论坛活跃
16
公关推广
10
鲜花
0
鸡蛋
0
在线时间
4 小时
注册时间
2006-8-31
最后登录
2008-1-11
查看详细资料
TOP
风雪狂客
版主
版主
帖子
621
精华
1
积分
37
鲜花
0
鸡蛋
0
在线时间
13 小时
发短消息
加为好友
当前在线
委屈了,只有地板
大
中
小
发表于 2006-11-7 09:59
只看该作者
您需要测试一下您的程序循环一次多长时间?
如果循环时间长,每次就多移动一个位置!
千日风雪,万里独行。 真痴假狂,亦侠亦客。
UID
7956
帖子
621
精华
1
积分
37
贡献积分
7
论坛活跃
133
公关推广
11
鲜花
0
鸡蛋
0
来自
北京
在线时间
13 小时
注册时间
2001-12-17
最后登录
2008-7-9
查看详细资料
TOP
alldying
初来乍到
注册用户
帖子
21
精华
0
积分
7
鲜花
0
鸡蛋
0
在线时间
4 小时
发短消息
加为好友
当前离线
6楼
大
中
小
发表于 2006-11-8 09:11
只看该作者
谢谢风雪狂客。
你的意思是没次往上走2行或者3行?我试过了,这样显得更不连贯,突然往上走一段,停住,我想要的是很连续的往上走,就象我现在做到的这样,但是速度要比现在快很多。
我也用过MINIGUI,不过它也不支持S1D13506的硬件加速,不知道有哪个图形库可以支持S1D13506的硬件加速,低级点没关系,只要速度快,因为我只是显示一些文字或图片内容,以不同方式进出屏而已(进出屏方式类似常见的广告的效果,也类似PowerPoint里的 进出方式),不需要传统的图形用户界面的窗口、对话框、按纽等,请这方面熟悉的兄弟们指点一下,推荐一个图形库吧,谢谢!!!
UID
165994
帖子
21
精华
0
积分
7
贡献积分
0
论坛活跃
16
公关推广
10
鲜花
0
鸡蛋
0
在线时间
4 小时
注册时间
2006-8-31
最后登录
2008-1-11
查看详细资料
TOP
风雪狂客
版主
版主
帖子
621
精华
1
积分
37
鲜花
0
鸡蛋
0
在线时间
13 小时
发短消息
加为好友
当前在线
7楼
大
中
小
发表于 2006-11-8 10:31
只看该作者
我的判断是您的系统一次循环太长,所以很慢!硬件加速可以自己写!就是对指定的寄存器设置参数,由软件做的工作由图形处理器完成!比如点线,矩形填充拷贝等等。目前的图形库,很少能够达到您的要求!您看看现在有一个EGUI的库,或许有帮助!另外OPENGUI,DirectFB只是支持X86平台。
千日风雪,万里独行。 真痴假狂,亦侠亦客。
UID
7956
帖子
621
精华
1
积分
37
贡献积分
7
论坛活跃
133
公关推广
11
鲜花
0
鸡蛋
0
来自
北京
在线时间
13 小时
注册时间
2001-12-17
最后登录
2008-7-9
查看详细资料
TOP
alldying
初来乍到
注册用户
帖子
21
精华
0
积分
7
鲜花
0
鸡蛋
0
在线时间
4 小时
发短消息
加为好友
当前离线
8楼
大
中
小
发表于 2006-11-8 14:44
只看该作者
再次谢谢风雪狂客。
没办法,这种进出屏方式是我们产品的基本显示功能,如果显示区域有100个pixel高的话,就只能循环100次,每次整体往上移1个pixel,暂时我也没想到别的方法。
如果实在没有能使用s1d13506的硬件加速功能的图形库的话,那我只能自己写了。不过我没搞过这个,只知道通过FrameBuffer可以把显卡的控制寄存器映射到物理内存空间,然后就可以访问这些寄存器了,具体怎么映射,怎么设置寄存器达到加速的目的还是不清楚,风雪狂客能不能详细些指点一下,或者给点资料,网址什么的,谢谢!!!
UID
165994
帖子
21
精华
0
积分
7
贡献积分
0
论坛活跃
16
公关推广
10
鲜花
0
鸡蛋
0
在线时间
4 小时
注册时间
2006-8-31
最后登录
2008-1-11
查看详细资料
TOP
AIKO_sex
认证会员
伊甸园杰出贡献会员
帖子
11648
精华
20
积分
156
鲜花
0
鸡蛋
0
在线时间
293 小时
发短消息
加为好友
当前离线
9楼
大
中
小
发表于 2006-11-8 19:41
只看该作者
bitblit软件做太频繁的话,cpu占用太高
要么是批量处理
windows都不建议刷新太频繁,严重消耗cpu
象一阵风 拂过我身边 忽然间 想要去很远 和你去看繁华世界
UID
12054
帖子
11648
精华
20
积分
156
贡献积分
53
论坛活跃
491
公关推广
15
鲜花
0
鸡蛋
0
在线时间
293 小时
注册时间
2002-3-20
最后登录
2008-7-8
查看详细资料
TOP
alldying
初来乍到
注册用户
帖子
21
精华
0
积分
7
鲜花
0
鸡蛋
0
在线时间
4 小时
发短消息
加为好友
当前离线
10楼
大
中
小
发表于 2006-11-9 09:27
只看该作者
谢谢AIKO_sex。
我在windows下用bitlbt挺顺的啊,如果Linux下不用bitblt,有什么好办法呢,跟你回的我的另外一个贴子“请指点一下嵌入式系统上图形库的选择”一样,我考虑自己写硬件加速部分,不过还没什么头绪,能不能详细指点下呢,谢谢!
UID
165994
帖子
21
精华
0
积分
7
贡献积分
0
论坛活跃
16
公关推广
10
鲜花
0
鸡蛋
0
在线时间
4 小时
注册时间
2006-8-31
最后登录
2008-1-11
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
12
1
2
››
控制面板首页
编辑个人资料
积分记录
公众用户组
勋章
访问推广
领取红包
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计
best dvd copy software