Yocto LIBSDL2+;DirectFB+;i、 MX 6-仅限软件点播?

Yocto LIBSDL2+;DirectFB+;i、 MX 6-仅限软件点播?,yocto,sdl-2,imx6,directfb,Yocto,Sdl 2,Imx6,Directfb,目前,我们正在使用DirectFB在嵌入式主板(i.MX 6)上开发SDL2应用程序。我们的LinuxOS是通过YOCTO生成的。应用程序本身工作正常,在SDL\u RenderPresent(renderer\ux)上有位,似乎只有软件blitting在工作,这会使CPU达到极限 窗口(256 x 128像素):60帧/秒-一个核心约20% 窗口(1280 x 1024像素):45 FPS-一个核心上的100% 向DFBARGS添加无软件,可将CPU使用率降低至约6%(这是可以接受的),但

目前,我们正在使用DirectFB在嵌入式主板(i.MX 6)上开发SDL2应用程序。我们的LinuxOS是通过YOCTO生成的。应用程序本身工作正常,在
SDL\u RenderPresent(renderer\ux)
上有位,似乎只有软件blitting在工作,这会使CPU达到极限

  • 窗口(256 x 128像素):60帧/秒-一个核心约20%
  • 窗口(1280 x 1024像素):45 FPS-一个核心上的100%
向DFBARGS添加
无软件
,可将CPU使用率降低至约6%(这是可以接受的),但此后屏幕上再也看不到任何内容。这是因为我认为SDL2/DirectFB在这种情况下只使用软件屏蔽。我在初始化时忘了带旗子吗

以1280x1024和60FPS的速度运行qt5应用程序需要占用一个内核约3-6%的CPU使用率

对象的创建 DirectFB的一些输出 fbset: DFB泵:
(*)直接/线程:已启动“SigHandler”(411)[严重-其他/0]。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DirectFB 1.7.7|~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2012-2015 DirectFB集成媒体有限公司
(c) 2001-2015全球DirectFB开源社区
(c) 2000-2004 Convergence(集成媒体)有限公司
----------------------------------------------------------------
(*)DirectFB/Core:单应用程序核心。(2020-04-01 09:36)
(*)Direct/Memcpy:使用libc Memcpy()
(*)直接/线程:已启动“Fusion Dispatch”(412)[消息传递-其他/0]。。。
(*)直接/线程:已启动“VT切换器”(415)[严重-其他/0]。。。
(*)直接/线程:已启动“VT冲洗器”(416)[默认值-其他/0]。。。
(*)DRMKMS/Init:使用设备/dev/dri/card0(默认)
(*)直接/线程:已启动“DRMKMS/Buffer”(417)[严重-其他/0]。。。
(*)DirectFB/图形:nsc nsc GX1/GX2驱动程序版本1.1(nsc)
(*)DirectFB/DRMKMS:有1个连接器,1个编码器
(*)DirectFB/DRMKMS:找到连接的连接器id 38。
(*)DirectFB/DRMKMS:连接器38已绑定到编码器37。
(*)DirectFB/DRMKMS:编码器37已绑定到ctrc 28。
(*)DirectFB/DRMKMS:默认模式为1280x1024,我们总共有16种模式
(*)DirectFB/DRMKMS:层id 29支持的属性
(*)DirectFB/DRMKMS:层id 34支持的属性
(*)DirectFB/Core/WM:默认值为0.3(DirectFB.org)
(*)直接/线程:已启动“Genefx”(418)[默认-其他/0]。。。
依赖NSC内核帧缓冲区驱动程序版本为2.7.7或更高版本
DirectFB正常运行时间:01:02:30
-----------------------------[表面]--------------------------------------------
参考FID。Refs宽度高度格式ID视频系统功能
-------------------------------------------------------------------------------------
不适用:3 1280 x 1024 ARGB 1 10240k 0k仅视频双精度
------   ------
10240k 0k->10240k总计
----------------------------------[第0层的上下文]----------------------------------------
参考FID。参考宽度高度格式在屏幕区域上的位置活动信息级别
-------------------------------------------------------------------------------------------------
不适用:2 1280 x 1024 ARGB 0.0,0.0->1.0,1.0(*)共享不适用
(!!!)***未实现[fusion_dispatch]***[../../../../DirectFB-1.7.7/lib/fusion/fusion.c:3947]
dfbinfo:
(*)直接/线程:已启动“SigHandler”(427)[关键-其他/0]。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DirectFB 1.7.7|~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2012-2015 DirectFB集成媒体有限公司
(c) 2001-2015全球DirectFB开源社区
(c) 2000-2004 Convergence(集成媒体)有限公司
----------------------------------------------------------------
(*)DirectFB/Core:单应用程序核心。(2020-04-01 09:36)
(*)Direct/Memcpy:使用libc Memcpy()
(*)直接/线程:启动“Fusion Dispatch”(428)[消息传递-其他/0]。。。
(*)直接/线程:已启动“VT切换器”(431)[严重-其他/0]。。。
(*)直接/线程:已启动“VT冲洗器”(432)[默认值-其他/0]。。。
(*)DRMKMS/Init:使用设备/dev/dri/card0(默认)
(*)直接/线程:已启动“DRMKMS/Buffer”(433)[严重-其他/0]。。。
依赖NSC内核帧缓冲区驱动程序版本为2.7.7或更高版本
(*)DirectFB/图形:nsc nsc GX1/GX2驱动程序版本1.1(nsc)
(*)DirectFB/DRMKMS:有1个连接器,1个编码器
(*)DirectFB/DRMKMS:找到连接的连接器id 38。
(*)DirectFB/DRMKMS:连接器38已绑定到编码器37。
(*)DirectFB/DRMKMS:编码器37已绑定到ctrc 28。
(*)DirectFB/DRMKMS:默认模式为1280x1024,我们总共有16种模式
(*)DirectFB/DRMKMS:层id 29支持的属性
(*)DirectFB/DRMKMS:层id 34支持的属性
(*)DirectFB/Core/WM:默认值为0.3(DirectFB.org)
(*)直接/线程:已启动“Genefx”(434)[默认-其他/0]。。。
屏幕(00)DRMKMS屏幕(主屏幕)
Caps:混频器编码器输出
混音器(0)DRMKMS混音器
Caps:完整子_层
图层(全模式):(00)(01)(02)
层(子模式):0/00(01)(02)
编码器(0)DRMKMS编码器
类型:数码
频率分辨率
输出分辨率:640_480 800_600 1024_768 1152_864 1280_1024
输出(0)DRMKMS输出
上限:决议
分辨率:640_480 800_600 1024_768 1152_864 1280_1024
信号:HDMI
层(00)DRMKMS层(主层)
类型:图形
帽:表面
图层(01)DRMKMS平面图层0
类型:图形
Caps:表面字母通道屏幕位置
图层(02)DRMKMS平面图层1
类型:图形
Caps:表面字母通道屏幕位置
(!!!)***未执行[fusion_dispatch]***[../../../../Direc
window_ = SDL_CreateWindow( "", 0, 0, 256, 128, 0 );

renderer_ = SDL_CreateRenderer( window_, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC );
mode "1280x1024-0"
        # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
        geometry 1280 1024 1280 1024 32
        timings 0 0 0 0 0 0 0
        accel true
        rgba 8/16,8/8,8/0,0/0
endmode
(*) Direct/Thread: Started 'SigHandler' (411) [CRITICAL - OTHER/0] <8388608>...

   ~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2012-2015  DirectFB integrated media GmbH
        (c) 2001-2015  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2020-04-01 09:36)
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'Fusion Dispatch' (412) [MESSAGING - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Switcher' (415) [CRITICAL - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (416) [DEFAULT - OTHER/0] <8388608>...
(*) DRMKMS/Init: using device /dev/dri/card0 (default)
(*) Direct/Thread: Started 'DRMKMS/Buffer' (417) [CRITICAL - OTHER/0] <8388608>...
(*) DirectFB/Graphics: nsc NSC GX1/GX2 driver version 1.1 (NSC)
(*) DirectFB/DRMKMS: Got 1 connectors, 1 encoders
(*) DirectFB/DRMKMS: found connected connector id 38.
(*) DirectFB/DRMKMS: connector 38 is already bound to encoder 37.
(*) DirectFB/DRMKMS: encoder 37 is already bound to ctrc 28.
(*) DirectFB/DRMKMS: Default mode is 1280x1024, we have 16 modes in total
(*) DirectFB/DRMKMS: supported properties for layer id 29
(*) DirectFB/DRMKMS: supported properties for layer id 34
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Thread: Started 'Genefx' (418) [DEFAULT - OTHER/0] <8388608>...
Dependent NSC Kernel FrameBuffer driver version is 2.7.7 or later

DirectFB uptime: 01:02:30

-----------------------------[ Surfaces ]--------------------------------------------
Reference   FID  . Refs  Width Height  Format     ID     Video   System  Capabilities
-------------------------------------------------------------------------------------
N/A              :   3   1280 x 1024       ARGB     1  10240k       0k   video only   double
                                                       ------   ------
                                                       10240k       0k   -> 10240k total

----------------------------------[ Contexts of Layer 0 ]----------------------------------------
Reference   FID  . Refs  Width Height Format   Location on screen  Regions  Active  Info    Level
-------------------------------------------------------------------------------------------------
N/A              :   2   1280 x 1024  ARGB     0.0, 0.0 -> 1.0, 1.0    1     (*)    SHARED   N/A
 (!!!)  *** UNIMPLEMENTED [fusion_dispatch] *** [../../../DirectFB-1.7.7/lib/fusion/fusion.c:3947]
(*) Direct/Thread: Started 'SigHandler' (427) [CRITICAL - OTHER/0] <8388608>...

   ~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2012-2015  DirectFB integrated media GmbH
        (c) 2001-2015  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2020-04-01 09:36)
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'Fusion Dispatch' (428) [MESSAGING - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Switcher' (431) [CRITICAL - OTHER/0] <8388608>...
(*) Direct/Thread: Started 'VT Flusher' (432) [DEFAULT - OTHER/0] <8388608>...
(*) DRMKMS/Init: using device /dev/dri/card0 (default)
(*) Direct/Thread: Started 'DRMKMS/Buffer' (433) [CRITICAL - OTHER/0] <8388608>...
Dependent NSC Kernel FrameBuffer driver version is 2.7.7 or later
(*) DirectFB/Graphics: nsc NSC GX1/GX2 driver version 1.1 (NSC)
(*) DirectFB/DRMKMS: Got 1 connectors, 1 encoders
(*) DirectFB/DRMKMS: found connected connector id 38.
(*) DirectFB/DRMKMS: connector 38 is already bound to encoder 37.
(*) DirectFB/DRMKMS: encoder 37 is already bound to ctrc 28.
(*) DirectFB/DRMKMS: Default mode is 1280x1024, we have 16 modes in total
(*) DirectFB/DRMKMS: supported properties for layer id 29
(*) DirectFB/DRMKMS: supported properties for layer id 34
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Thread: Started 'Genefx' (434) [DEFAULT - OTHER/0] <8388608>...


Screen (00) DRMKMS Screen                   (primary screen)
   Caps: MIXERS ENCODERS OUTPUTS

   Mixer (0) DRMKMS Mixer
     Caps:                    FULL SUB_LAYERS
     Layers (full mode):      (00) (01) (02)
     Layers (sub mode):  0 of (00) (01) (02)


   Encoder (0) DRMKMS Encoder
     Type:           DIGITAL
     Caps:           FREQUENCY RESOLUTION
     Output Resolutions: 640_480 800_600 1024_768 1152_864 1280_1024


   Output (0) DRMKMS Output
     Caps:       RESOLUTION
     Resolutions: 640_480 800_600 1024_768 1152_864 1280_1024
     Signals:    HDMI


     Layer (00) DRMKMS Layer                    (primary layer)
        Type:    GRAPHICS
        Caps:    SURFACE

     Layer (01) DRMKMS Plane Layer 0
        Type:    GRAPHICS
        Caps:    SURFACE ALPHACHANNEL SCREEN_POSITION

     Layer (02) DRMKMS Plane Layer 1
        Type:    GRAPHICS
        Caps:    SURFACE ALPHACHANNEL SCREEN_POSITION


 (!!!)  *** UNIMPLEMENTED [fusion_dispatch] *** [../../../DirectFB-1.7.7/lib/fusion/fusion.c:3947]