sosotan

Results 40 comments of sosotan

建议用python3 和scons 3.x 以上版本 缺少math.h一般是工具链路径没有设置对

这个问题应该是透明部分没有算入脏矩形刷新区域的问题,可以试试设置一个高亮背景色

没有碰到过, 我们的drm是用树莓派测试过, 不清楚其他平台初始化是否有差异, 建议参考你们平台的例程自己改一下适配层

有些demo是没有设置显示鼠标的,你跑一下awtk自带的demoui看看,有一个API控制是否显示鼠标

是否有按照awtk-linux-fb/readme.md里面的命令执行 release.sh,可能是没有把demo的字体打包进去

png可能有半透颜色, window背景不需要做半透混合, 建议你用jpg

@hantianheng 在我们测试的设备上没有出现类似的问题,麻烦你帮确认一下在你的设备,下面代码跑的是哪个流程: awtk-linux-fb/awtk-port/lcd_linux/lcd_linux_fb.c line:262 ``` static lcd_t* lcd_linux_create(fb_info_t* fb) { if (fb_is_1fb(fb)) { return lcd_linux_create_flushable(fb); } else { return lcd_linux_create_swappable(fb); } } ``` (请用最新版本的awtk-linux-fb测试,谢谢)

单缓冲(lcd_linux_create_flushable) 的情况下,无法避免撕裂,如果可以建议用fbset指令调整为双缓冲,但是否能设置成功取决于你的板子上的系统平台,比如你的lcd是800x480x16: ``` sudo fbset -g 800 480 800 960 16 ``` 如果只能用单缓冲的情况,可以尝试修改 awtk-linux-fb/awtk-port/lcd_linux/lcd_linux_fb.c line:143 ``` static ret_t lcd_mem_linux_flush(lcd_t* lcd) { fb_info_t* fb = (fb_info_t*)(lcd->impl_data); if (lcd_mem_linux_flush_defalut) { lcd_mem_linux_flush_defalut(lcd); }...

将fb_sync()放到后面与3月5号前的逻辑是一样的,想不明白为什么你之前没有撕裂,或许你可以按之前的代码修改lcd_linux_create_flushable的逻辑,再测试看看