导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    请问怎么把2D加速整合到Qt?

    MR Series
    qt 2d 加速
    7
    12
    4497
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • U
      uuuuid LV 6 最后由 编辑

      请问怎么把2D加速整合到Qt?

      BedRock 1 条回复 最后回复 回复 引用 分享 0
      • BedRock
        BedRock LV 6 @uuuuid 最后由 编辑

        @uuuuid 根据我之前移植LVGL经验来看,使用sunxifb替换devfb 然后使用宏打开 G2D开关,然后链接上动态库 libuapi.so 完成

        whycan C 2 条回复 最后回复 回复 引用 分享 0
        • whycan
          whycan晕哥 LV 9 @BedRock 最后由 编辑

          @bedrock

          8ed666a0-2a07-4a34-bd8c-c4d4d60527bc-image.png

          对,新唐改的就是这个文件。

          1 条回复 最后回复 回复 引用 分享 0
          • D
            dreamer LV 4 最后由 编辑

            qt5base-5.15.2/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp

            qt5 应该是改这个文件。

            1 条回复 最后回复 回复 引用 分享 0
            • C
              cloud_d1 LV 3 @BedRock 最后由 编辑

              @bedrock 在 请问怎么把2D加速整合到Qt? 中说:

              sunxifb

              LVGL使用G2D有详细的说明吗?怎么操作?

              BedRock L 2 条回复 最后回复 回复 引用 分享 0
              • BedRock
                BedRock LV 6 @cloud_d1 最后由 编辑

                @cloud_d1 我给你移植好的代码包。分别支持 makefile 构建和 cmake 构建
                littlevgl-8.tar.gz

                C L 2 条回复 最后回复 回复 引用 分享 1
                • C
                  cloud_d1 LV 3 @BedRock 最后由 编辑

                  @bedrock 非常感谢~~👍 👍 👍

                  1 条回复 最后回复 回复 引用 分享 0
                  • L
                    lyr2021 LV 3 @cloud_d1 最后由 编辑

                    @cloud_d1 同求 lvgl整合g2d的方法

                    1 条回复 最后回复 回复 引用 分享 0
                    • L
                      lyr2021 LV 3 @BedRock 最后由 编辑

                      @bedrock 谢谢,不过我测试了下不开g2d与开g2d的效果,发现不开帧率是开启的3倍左右,同帧率下 cpu占用也符合这个关系,从benchmark上也能看出来差距,这是为啥呢

                      A 1 条回复 最后回复 回复 引用 分享 0
                      • A
                        anruliu LV 6 @lyr2021 最后由 编辑

                        @lyr2021
                        1、首先LV_USE_PERF_MONITOR统计的不是真实的fps,lvgl可以没有限制的一直刷画面,看起来帧率的确高,但是滑动场景下,比较容易看到画面撕裂,不想看到撕裂就只能开双缓冲,像QT,MiniGUI这些框架也是如此,默认是没有用上双缓冲的
                        2、开启LVGL8_USE_SUNXIFB_DOUBLE_BUFFER后,可以解决画面撕裂的问题,但是需要做整屏buffer的拷贝,这里会比较耗时
                        3、开启LVGL8_USE_SUNXIFB_G2D后,就是把整屏buffer的拷贝从用cpu拷贝,切换到g2d拷贝
                        4、开启LVGL8_USE_SUNXIFB_G2D_ROTATE后,就可以用G2D旋转整个屏幕,会比原来的CPU旋转快很多
                        5、G2D的优势在于blend,scale,rotate,当前版本没有完全实现这些接口,也体现不出来

                        L 1 条回复 最后回复 回复 引用 分享 0
                        • L
                          lyr2021 LV 3 @anruliu 最后由 编辑

                          @anruliu 关于画面撕裂问题,测试下来,只要开区全屏buf就可以解决了,不用双buf

                          A 1 条回复 最后回复 回复 引用 分享 0
                          • A
                            anruliu LV 6 @lyr2021 最后由 编辑

                            @lyr2021 全屏buffer只是相对于lvgl的,送给LCD始终都是一个buffer,在滑动方向和LCD刷新方向不一致情况下比较能明显看到撕裂,可以参考https://os.51cto.com/article/646550.html

                            1 条回复 最后回复 回复 引用 分享 0
                            • 1 / 1
                            • First post
                              Last post

                            Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                            行为准则 | 用户协议 | 隐私权政策