UCGUI深度优化篇(原创)

[复制链接]
 楼主| wzt19910506 发表于 2012-7-21 11:04 | 显示全部楼层 |阅读模式
前一段进行了ucgui的移植,但是移植后续还是存在很多问题,比如液晶刷新速率慢,横竖屏切换不支持等,所以针对这些问题进行了一次彻底的优化,现在刷新能够达到20帧的速度对于50mhzio口来说已经相当可以了。下面就进行一次彻底的剖析,看究竟是那些问题占用了宝贵的百万分之一秒:

一、速度优化篇:
1.
我用的是stm32的处理器,stm32公司为了让使用者加快项目开发速度和便于日后对整个软件部分的维护管理编写了一套标准库。这个库用起来确实很方便也另学习简化了很多,但是它也有缺点所在:就是效率问题。我之前用的液晶屏驱动就是基于库函数编写的,所以第一步就是液晶驱动全部换为直接对寄存器操作,经实践确实刷新率成好几倍的增长。这个代码比较长,这里就不贴出来的,这里仅仅指点下思路,具体请看源代码。

2.
深入液晶驱动内部:液晶屏刷新可不是像我们眼睛看到的一样瞬间整个屏幕同时更新。实际上一个一个像素更新的:也就是说我的屏幕分辨率是320*240就要更新320*240=76800个点。每一个点更新时都要调用一个写数据函数。所以接下来要做的就是提高调用这个函数的速度。有两种解决办法:使用宏定义函数或者内敛函数。我使用的是内敛函数:如下定义: ………………………………………………具体内容看pdf文档 ucgui液晶显示深度优化篇.pdf (332.39 KB, 下载次数: 1573)
具体
下面是源代码: UCGUI优化源代码.zip (3.23 MB, 下载次数: 1821)
 楼主| wzt19910506 发表于 2012-7-21 11:05 | 显示全部楼层
woshic23 发表于 2013-5-21 17:35 | 显示全部楼层
多谢分享!
dfsa 发表于 2013-5-21 18:03 | 显示全部楼层
很有借鉴意义的源代码,多谢分享
yybj 发表于 2013-5-21 18:40 | 显示全部楼层
很有参考价值,多谢分享
火箭球迷 发表于 2013-5-21 18:54 | 显示全部楼层
鼓励原创
hawksabre 发表于 2013-5-21 18:59 | 显示全部楼层
原创帖   不错的资料   谢谢了   楼主   有时间需要好好看看   谢谢
perphi 发表于 2013-7-15 09:58 | 显示全部楼层
正需要呢,谢谢楼主!
lei129210 发表于 2013-7-15 10:36 | 显示全部楼层
mark下,有需要时来看。
拿起书本 发表于 2013-7-15 15:26 | 显示全部楼层
鼓励分享心得,搭车请教,UCGUI裸奔时,移植后执行GUIDEMO_main(),就一直停在第一屏上,不动了,请教原因,谢谢!
雨落沉轩 发表于 2013-7-16 17:59 | 显示全部楼层
好东西,谢谢分享
alien2006 发表于 2013-7-16 18:09 | 显示全部楼层
谢谢楼主分享,先下载下来好好学习下
c51avr 发表于 2013-8-15 09:35 | 显示全部楼层
不错 谢谢啊
yuchl 发表于 2013-8-15 13:37 | 显示全部楼层
谢谢啊!
sunhaojie 发表于 2013-8-19 20:26 | 显示全部楼层
顶楼主,正在搞这一块
outstanding 发表于 2013-8-19 21:13 | 显示全部楼层
顶。。
kf94297 发表于 2013-10-12 10:57 | 显示全部楼层
非常不错 非常专业 THANK YOU
kf94297 发表于 2013-10-14 14:16 | 显示全部楼层
修改 及测试过 刷屏速度提高了 10倍
chuangpu 发表于 2013-10-14 16:59 | 显示全部楼层
多谢楼主的分享  多谢  先收藏一个  以后有时间需要好好看看  消化消化
flysky1124 发表于 2013-10-14 22:08 | 显示全部楼层
收藏了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

134

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部