LCUI 2.0 发布了。LCUI 是一个用 C 语言编写的图形界面开发库,可用于构建简单的桌面应用程序。 更新概要问题修复
代码重构
新功能
性能改进
不兼容变动
更新说明性能优化新增 OpenMP 支持,重写部件更新、布局和脏矩形搜集流程,以下是详细测试报告:
Flex 布局LCUI Router App 的界面对布局系统的要求较高,界面中的部分元素带有尺寸自适应特性,适合使用 Flex 布局实现,但 LCUI 之前的布局系统过于简单,无法实现此布局,为此,新版本中引入了全新的 flex 布局系统,支持用 flex-basis、flex-direction、flex-shrink、flex-grow、justify-content、align-items 属性控制布局。以下是测试程序效果: 用浏览器打开 test/test_flex_layout.html 文件可对比 LCUI 和浏览器的 flex 布局效果。 需要注意的是,这个布局系统并不完善,由于前期设计考虑不够全面,在经过后续增加的各种布局测试后,布局规则已经变得有些混乱,目前只能保证测试程序内的布局能够得到预期的效果,有待后续重构。 社区动态本次更新共计支出 71 美元用于悬赏,接受来自贡献者的 6 个拉取请求(Pull Request),新增 3 位贡献者:d4yvector、maximelkin、vbalyasnyy。由于悬赏平台是国外的,其国外用户占比很高,这点数额的悬赏对国外开发者而言吸引力较低,要是国内也有面向开源项目的悬赏平台的话,或许就能够吸引更多的贡献者了,但以现在的环境来看这个想法不现实,因为国内的代码托管平台的重心在提高收入水平上,可没有多余的资源能浪费在这种低收益的事情上。 常见问题为什么选择实现 flex 布局而不是一个全新的布局? 主要有两个原因:
怎么才 50 帧?没有达到每秒渲染 120 帧 4K 尺寸画面以上的性能还好意思拿出来秀? 这个问题就需要让熟悉各种图形库的开发者来解决了,对于作者而言折腾这种职业无关的技术只是浪费时间。如果你恰好能解决此问题,但又不想免费提供技术支持,可以建一个 issue,然后描述大致的实现方式并注明你期望的悬赏金额,届时其他人觉得不错的话可能会赞助一部分赏金。 后续有何计划? 请看项目的自述文档。 |