GuiLite 1.1 发布:“大力”优化底层,CPU占用率低至:0% ~ 3%

idea4good
 idea4good
发布于 2018年11月23日
收藏 14

UI软件,往往对系统资源(CPU,内存)的要求比较高。系统的卡顿,也往往出现在大面积的界面刷新的时候;因此超高的UI绘制效率,能帮助开发者在系统资源有限(如:嵌入式设备,IOT设备)的条件下,依然拥有夸张的UI表现力。

虽然GPU的使用,一定程度上能够帮助CPU分担绘制压力。但开发者认为:

  1. 在一些2D应用场景,GPU所能发挥的优势并不明显;

  2. 大部分嵌入式/IOT设备不具备GPU资源;

因此,开发者致力于优化底层代码,层层压榨每一行代码的效率,大力砍伐不必要的软件流程。俗话说:“大力出奇迹”,在开发群的集体验证下,测试程序:Host Monitor对CPU的使用率降低至惊人的“0% ~ 3%”!

我们的测试环境如下:

  • 硬件环境:X86 i5, Raspberry Pi 2

  • 软件环境:Ubuntu, raspbian

  • 显示模式:framebuffer直接映射

俗话说的好:“是骡子是马,拉出来遛遛”,请大家更新代码,并将您的运行结果反馈给我们,让我们共同改善/改进软件的运行效率,谢谢!

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:GuiLite 1.1 发布:“大力”优化底层,CPU占用率低至:0% ~ 3%
加载中

精彩评论

itfanr
itfanr
:blush:
d
dwingo
看起来是在2d framebuffer上自己实现的绘制, 能不能说说用到了哪些各平台的底层图形接口?
没有头像也是一种帅
没有头像也是一种帅
果然,大力出奇迹啊~~~
SamXIAO
SamXIAO
50MHz的M0或100MHz的M3/M4能跑么?
i
ixiangjin
能过360不能?

最新评论(16

idea4good
idea4good

引用来自“麦壳饼”的评论

没图片吗?
有的。
代码库里面有完整的介绍图片及视频
麦壳饼
麦壳饼
没图片吗?
没有头像也是一种帅
没有头像也是一种帅
果然,大力出奇迹啊~~~
idea4good
idea4good

引用来自“SamXIAO”的评论

50MHz的M0或100MHz的M3/M4能跑么?

引用来自“idea4good”的评论

可以在100MHZ的CPU,64M内存的环境上跑。不过CPU使用率可能会到60%左右。

如果你有实测环境的话,特别期待你的数据反馈

引用来自“SamXIAO”的评论

M0,M3是MCU,M0一般内存在64KB以下,M3内存最多可能就几MB,一般4K~256KB
那就不适合跑host monitir这种复杂实例程序了。

需要另外开发一个适合单片机运行的实例程序。

GuiLite本身对资源要求很低,主要消耗,还是体现在应用程序上
SamXIAO
SamXIAO

引用来自“SamXIAO”的评论

50MHz的M0或100MHz的M3/M4能跑么?

引用来自“idea4good”的评论

可以在100MHZ的CPU,64M内存的环境上跑。不过CPU使用率可能会到60%左右。

如果你有实测环境的话,特别期待你的数据反馈
M0,M3是MCU,M0一般内存在64KB以下,M3内存最多可能就几MB,一般4K~256KB
idea4good
idea4good

引用来自“SamXIAO”的评论

50MHz的M0或100MHz的M3/M4能跑么?
可以在100MHZ的CPU,64M内存的环境上跑。不过CPU使用率可能会到60%左右。

如果你有实测环境的话,特别期待你的数据反馈
SamXIAO
SamXIAO
50MHz的M0或100MHz的M3/M4能跑么?
idea4good
idea4good

引用来自“dwingo”的评论

看起来是在2d framebuffer上自己实现的绘制, 能不能说说用到了哪些各平台的底层图形接口?

引用来自“idea4good”的评论

Linux的framebuffer方式,不依赖任何第三方的底层图形接口。
iOS,Mac,Android,windows下也不依赖图形接口,只需要将guilite内部显存搬移到系统窗口即可

引用来自“dwingo”的评论

也就是说还需要自己写所在平台的代码去适配才能显示出来? 感觉像写驱动一样.
非常赞同你的说法。只是操作起来,不会像写驱动那么吓人。
各个平台的适配已经作好了(核心代码都在100行以内);而且都是基本的应用api,读起来,没有压力
d
dwingo

引用来自“dwingo”的评论

看起来是在2d framebuffer上自己实现的绘制, 能不能说说用到了哪些各平台的底层图形接口?

引用来自“idea4good”的评论

Linux的framebuffer方式,不依赖任何第三方的底层图形接口。
iOS,Mac,Android,windows下也不依赖图形接口,只需要将guilite内部显存搬移到系统窗口即可
也就是说还需要自己写所在平台的代码去适配才能显示出来? 感觉像写驱动一样.
idea4good
idea4good

引用来自“ixiangjin”的评论

能过360不能?

引用来自“idea4good”的评论

过360是什么意思?

引用来自“司徒永超”的评论

估计是说能通过 360 的检测,不会被报毒。
哦,代码都是文本文件,自己编译出来的exe,360应该不会报警吧
返回顶部
顶部