Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

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

    MR Series
    qt 2d 加速
    7
    12
    4485
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • U
      uuuuid LV 6 last edited by

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

      BedRock 1 Reply Last reply Reply Quote Share 0
      • BedRock
        BedRock LV 6 @uuuuid last edited by

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

        whycan C 2 Replies Last reply Reply Quote Share 0
        • whycan
          whycan晕哥 LV 9 @BedRock last edited by

          @bedrock

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

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

          1 Reply Last reply Reply Quote Share 0
          • D
            dreamer LV 4 last edited by

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

            qt5 应该是改这个文件。

            1 Reply Last reply Reply Quote Share 0
            • C
              cloud_d1 LV 3 @BedRock last edited by

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

              sunxifb

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

              BedRock L 2 Replies Last reply Reply Quote Share 0
              • BedRock
                BedRock LV 6 @cloud_d1 last edited by

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

                C L 2 Replies Last reply Reply Quote Share 1
                • C
                  cloud_d1 LV 3 @BedRock last edited by

                  @bedrock 非常感谢~~👍 👍 👍

                  1 Reply Last reply Reply Quote Share 0
                  • L
                    lyr2021 LV 3 @cloud_d1 last edited by

                    @cloud_d1 同求 lvgl整合g2d的方法

                    1 Reply Last reply Reply Quote Share 0
                    • L
                      lyr2021 LV 3 @BedRock last edited by

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

                      A 1 Reply Last reply Reply Quote Share 0
                      • A
                        anruliu LV 6 @lyr2021 last edited by

                        @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 Reply Last reply Reply Quote Share 0
                        • L
                          lyr2021 LV 3 @anruliu last edited by

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

                          A 1 Reply Last reply Reply Quote Share 0
                          • A
                            anruliu LV 6 @lyr2021 last edited by

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

                            1 Reply Last reply Reply Quote Share 0
                            • 1 / 1
                            • First post
                              Last post

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

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