找回密码
 立即注册
查看: 1045|回复: 17

Cadio Simple Gui

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-23 23:34:02 来自手机 | 显示全部楼层 |阅读模式
直接使用OLED通用驱动刷屏会看起来很生硬,尤其是闪屏和字符的突兀来去,看着总觉得怪怪的。所以就想写一个丝滑的GUI

基本框架已经写好了。
它:
基于页面Page运行的,每个页面有他自己的内存,坐标,深度和id,用于实现复杂的的动画和多层显示。
集成了内存管理,所有页面的空间都动态地从内存池(大小自定)分配,用完的页面可释放空间。
集成了最最基础2D绘图库(功能不太全,待完善)
动画控制的对象是页面,基于任务队列。
比如把A以V的速度向上移动X格,这个任务加入队列后会在每次循环中进行一点,直到完成。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-23 23:34:46 来自手机 | 显示全部楼层
等彻底写好了再开源罢,先上个demo
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-23 23:37:04 来自手机 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-05-01 09:54:52
已绑定手机

19

主题

3190

回帖

4866

积分

论坛元老

积分
4866
发表于 2024-7-23 23:37:20 | 显示全部楼层
这个不错就是ram占用怎么样
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-23 23:41:32 来自手机 | 显示全部楼层
旋转图片最好还是不要用了,严重拉低帧率。
按这个帧率,勉强能看
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-23 23:46:58 来自手机 | 显示全部楼层
soma 发表于 2024-7-23 23:37
这个不错就是ram占用怎么样

目前设置内存池是2048Byte,demo用了将近3/4,
算上回收利用了话这么多应该够一般用了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-25 22:39:33 来自手机 | 显示全部楼层

基础图形调好了,
就写点交互模块罢
先仿着winapi的风格弄了个简单的小弹窗。

窗口函数里面里申请了几个工作页面,实现文字的滚动和按钮刷新,当然内存足足的还可以搞很多其他的;虽然工作页面会消耗几百字节内存,但窗口被销毁前工作页面也会被释放,所以弹窗函数是不占GUI内存的(当然如果GUI内存不足时建立窗口,窗口的工作页面将无法建立,将抛出错误)


缺陷:弹窗是阻塞的,如果不关掉它就不能干别的。(其实可以弄个回调函数来处理窗口事件和刷新,然后在循环里不断调用它来实现非阻塞,但就不简洁了。。)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-25 22:43:38 来自手机 | 显示全部楼层
IMG_20240725_222653.jpg
主循环很简单也就20行吧。
当然一分价钱一分货,这也就导致了生硬的弹窗与突兀的刷新。。。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-26 08:36:44 来自手机 | 显示全部楼层
_NCY_ 发表于 2024-7-25 22:43
主循环很简单也就20行吧。
当然一分价钱一分货,这也就导致了生硬的弹窗与突兀的刷新。。。 ...

才发现页面这个东西好像并没有意义
实现这些一个clipwindow剪切窗口就能搞定了,不用开数百字节的ram....
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-27 22:43:18 来自手机 | 显示全部楼层

写个小菜单试试,比较卡,勉强能看吧。
内存池2048字节绰绰有余
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 01:30 , Processed in 0.144438 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表