FreeType移植到A7平台之后思考的几个问题

  • 对内存的需求比较大,如果是全字库的话,小的6M,大的有20多M,于是会增加内存的消耗,解决办法是裁剪全字库,精简为7613个汉字以及常用的字符,目前将8M多的字库文件裁剪到2M不到。仍旧采用将ttf文件写入内存的方式提升字体渲染速度。使用过程中发现,在加上gui控件之后,button不能显示汉字字符及响应按键,这个问题还需要进一步探究。
  • 因为系统使用了freeRTOS操作系统,目前UI作为一个单独任务,负责人机交互,因为加入freeType在线渲染字体的原因,任务栈由之前的0x2000*4直接飙到0x8000*4才能正常跑UI和显示字体。很明显对任务栈的大小也是有较高的要求。
  • 由于工程是freeType插件是与gui分开的,没有与gui编译成一个库,为了方便后期在使用是方便,可能需要将freeType与gui编译成一个库,因为freeType依赖文件系统,所以还会将fatfs文件系统一起编译进去。这里涉及到一个问题,如果后期的项目不需要freeType,而采用外部的简单字体文件,如何让gui也能正常的工作,即需要将字体渲染的接口由用户来灵活运用。
  • 考虑到实时性,渲染函数是否设置为临界段代码,避免频繁出入任务栈,在调用freeType的接口时入栈是比较深的。
posted @ 2020-03-25 19:27  字由人  阅读(341)  评论(0编辑  收藏  举报