GuiLite 2.7 发布:提速 Qt、MFC、Winforms、Web

idea4good
 idea4good
发布于 2019年08月20日
收藏 25

自从上次发布了第一个3D程序,导演就跟我说了:“这就是个网页程序,跟GuiLite又没有啥关系,这也不是啥绝活呀”。所以,我们又作了另一个3D程序:

对GuiLite比较熟悉的同学,可能会发现,立方体的四个面上贴的是:GuiLite的两个单片机实例(HelloWave和HelloParticle);具体实现部分大家看代码就好,这里不多赘述(老规律,代码在100行左右)
耳边,似乎又听到导演的声音:“这也不是啥绝活呀~难道你还要用GuiLite代替宇宙第一前端编程语言 - JavaScript不成?”

答案当然是否定的!GuiLite不仅不能代替JavaScript,也不能代替Qt,MFC、Winforms;不说能力如何,光生态圈也不答应。开发者的时间非常宝贵,推倒以前的代码,换个框架再写一遍,这是伤筋动骨之痛。但GuiLite可以嵌入在Qt,MFC,Winforms,Web里面,成为它的一部分,去解决以下问题:

1. 资源占用问题:大型GUI框架,往往对资源要求很高,可以用GuiLite重构资源消耗量较大的重模块
2. 刷新效率问题:对于有实时性要求的复杂控件,或刷新量比较大的控件,可以用GuiLite重构一下,在没有硬件加速的情况下,GuiLite的绘制效率非常可观;另外对于普通2D的点线绘制,硬件加速的效果并不明显

相信熟悉界面编程的同学,都知道上面两个问题,算是老大难问题了;凭什么GuiLite能解决呢?我们的回答是:小,往往意味着快;小,往往也意味着更抗饿;不妨再看看上面的3D程序,如果完全用JavaScript编写,立方体转一圈,可能要几分钟;但在GuiLite的帮助下,是不是流畅许多呢?

为了能让GuiLite更有效的与其他GUI框架合作,我们在这个版本还做了以下工作:

1. 代码优化至4703行:用更小的体积,换取更快的速度;更小的资源消耗
2. 再次升级可移植性:通过运行1h-1cpp.sh脚本,迅速合并出GuiLite的统一头文件(GuiLite.h)及实现文件(GuiLite.cpp);有了这两个文件,开发者可以随心所欲的把GuiLite嵌入/移植到任意平台

最后,向header only的提出者致敬;向积极验证代码的同学致敬:是每天上百次的编译/运行,才换来了代码的快速稳定!

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:GuiLite 2.7 发布:提速 Qt、MFC、Winforms、Web
加载中

精彩评论

久永
久永
支持 GuiLite !
“成大事者,不与众谋!”
一个好的软件,必须有其明确的设计哲学。
如果什么话都不加思考的听,那样只能最后成为驴骑人的笑话。

最新评论(6

huadongke
huadongke
👍
Dandelion_
Dandelion_
👍
久永
久永
支持 GuiLite !
“成大事者,不与众谋!”
一个好的软件,必须有其明确的设计哲学。
如果什么话都不加思考的听,那样只能最后成为驴骑人的笑话。
idea4good
idea4good
离好,还有距离;但相信在开发群同学的共同努力下,会慢慢接近好
不避风云
不避风云
干的漂亮
r
roar090
👍
返回顶部
顶部