在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于嵌入式系統(tǒng)GUI如何實現(xiàn)DirectF的圖形加速功能的功能應用

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:劉小雙,李建平,鄭 ? 2020-09-14 17:55 ? 次閱讀

引言

嵌入式GUI 中需要實現(xiàn)多圖形功能,包括圖形繪制以及拷貝等。其中的許多功能需要進行大量的數(shù)據(jù)傳遞(如圖形拷貝),或者需要進行大量的數(shù)值運算(如畫樣條曲線)。如果這些功能都由純軟件實現(xiàn)的話,會占用大量的CPU時間并且需要傳遞大量的數(shù)據(jù),從而影響了圖形性能。許多顯卡芯片帶有圖形處理器,能夠從硬件上實現(xiàn)一部分圖形功能。支持硬件加速的圖形庫可以通過圖形處理器實現(xiàn)這些圖形功能,從而減輕了CPU的負擔并減少了數(shù)據(jù)在總線上的傳輸時間,提高了圖形性能。

本文就如何實現(xiàn)DirectFB的圖形加速功能做了詳細的介紹,并將實現(xiàn)之后在性能上得到的改進與實現(xiàn)之前做比較,說明DirectFB在優(yōu)化嵌入式系統(tǒng)GUI上的作用。

1 DirectFB體系結(jié)構(gòu)

1.1 DirectFB簡介

DirectFB項目是由德國Convergence公司推動的Open source計劃的一部分,它是專門為滿足嵌入式設備要求而開發(fā)的小巧、強大、靈活和易于使用的圖形系統(tǒng),并且試圖成為一個建構(gòu)于Linux Framebuffer Device之上的新圖形標準。它在FrameBuffer的基礎上提供了圖形加速、輸入設備處理提取、透明窗口和多重顯示層的功能,能夠?qū)η度胧较到y(tǒng) GUI有較好的支持。與那些通用的嵌入式GUI系統(tǒng)相比,它具有非常簡潔、高效的體系結(jié)構(gòu)和硬件圖形加速功能。

1.2 DirectFB體系結(jié)構(gòu)

(1)DirectFB訪問硬件顯卡

DirectFB依賴已有的內(nèi)核接口即幀緩沖設備(/dev/fb)訪問圖形處理器,也就是說DireetFB需要一個正在工作的幀緩沖驅(qū)動。 Linux內(nèi)核有專門的幀緩沖驅(qū)動支持某些圖形處理器。對于不支持的圖形處理器,內(nèi)核提供VE—SA幀緩沖(這種幀緩沖有一些限制)。DirectFB利用幀緩沖設備做如下工作:

◆設置顯卡工作模式(分辨率,顏色深度,時序)

◆映射顯存

◆改變幀緩沖視口(針對雙緩沖)

如果某種顯卡被DirecFB支持并且在Linux內(nèi)核中也有這種圖形處理器的幀緩沖驅(qū)動,DirectFB利用幀緩沖設備做如下額外的工作:

◆映射顯存IO端口

◆關閉幀緩沖驅(qū)動中自帶的加速功能

針對具體的圖形操作(例如圖片拷貝),DirectFB加速驅(qū)動訪問顯存映射的圖形處理器I/O端口向圖形處理器提交命令。也就是說真正的硬件加速完全是在用戶空間實現(xiàn)。這樣DirectFB就可以對它支持的圖形處理器提供最大限度的硬件圖形加速。上層APl支持DirectFB的有:XdirectFB、DirectFBGL、GTK+、DFBTerm、DFBSee、DFBPoint、MythTV、Qt on DirectFB、SDL等。

(2)DirectFB訪問輸入設備

DirectFB使用Linux內(nèi)核提供的標準設備接口訪問輸入設備,而不是直接訪問輸入硬件。具體的結(jié)構(gòu)如圖1所示。

基于嵌入式系統(tǒng)GUI如何實現(xiàn)DirectF的圖形加速功能的功能應用

2 DirectFB加速驅(qū)動原理

本節(jié)結(jié)合筆者的硬件平臺來說明如何實現(xiàn)DirectFB加速驅(qū)動,筆者所用的平臺是MPC8540,圖形處理器是Fujitsu MB86296。要實現(xiàn)DirectFB加速驅(qū)動,需要有以下幾個模塊:系統(tǒng)、圖形加速器、屏幕及圖層。其中系統(tǒng)是指幀緩沖和硬件管理。DirectFB 支持的系統(tǒng)有dev/fb、osx、sdl、xll、/dev/mem等。系統(tǒng)可以在DirectFB應用程序配置文件directfbrc中配置。屏幕是指輸出設備,如LCD。圖層代表獨立的圖像緩沖區(qū),一般是在顯示的時候自動由硬件融合,硬件一般采用alpha技術融合。圖層數(shù)量的多少取決于圖形處理器,一般復雜的圖形處理器都支持多層顯示。一層內(nèi)容的改變不影響其他層的內(nèi)容。

DirectFB驅(qū)動的幾點基本要素是:

①必須賦給驅(qū)動一個唯一的名字并且用如下宏實現(xiàn):DFB_GRAPHICS_DRIVER(MB86296)。

②上面的宏需要定義6個函數(shù)供DirectFB Core使用,即初始化/關閉驅(qū)動、初始化/關閉加速重獲驅(qū)動元數(shù)據(jù)。

③在驅(qū)動中需要實現(xiàn)的函數(shù)有以下6個。

a)static int dnver_probe(GraphicsDevice*device);

如果系統(tǒng)支持某種硬件此函數(shù)應該返回非零值,它用DirectFB Core來探測哪個驅(qū)動支持系統(tǒng)硬件。

b)static void driver_get_info(GraphicsDevice *device, GraphicsDriverInfo *info);

這些函數(shù)用來設驅(qū)動信息。

c)static DFBResult driver_init_driver (GraphicsDevice *device, GraphicsDeviceFuncs *funcs, void *driver_data, void *device_data, CoreDFB *core);

初始化驅(qū)動。在成功獲得所有需要的資源后驅(qū)動應該注冊屏幕和層。同時也需要通過funcs返回硬件加速函數(shù)列表。實現(xiàn)方式如下所示。

初始化硬件。通過GraphicsDevicelnfo*device_info設置由硬件支持的加速能力,例如Blit/Draw。具體實現(xiàn)如下:

實現(xiàn)關閉驅(qū)動時需要做的工作。

3 加速性能測試

通過筆者編寫的驅(qū)動程序和DirectFB官方加速測試程序df_dok,可以看出加速與否對應用程序運行速度的影響。下面是沒有實現(xiàn)圖形加速能力的測試結(jié)果。

由上面測試結(jié)果比較可以看出,實現(xiàn)了加速能力后的DirectFB可以大大提高圖形處理能力。

結(jié)語

通過筆者在某雷達系統(tǒng)上的測試可以看出,實現(xiàn)圖形加速后的GUI界面響應較快,畫面流暢,與加速前相比圖形性能有了顯著的提高。隨著 DirectFB在嵌入式系統(tǒng),如數(shù)控手機、嵌入式瀏覽器、PDA、雷達等領域的應用越來越廣泛,基于DirectFB的圖形加速將使得嵌入式系統(tǒng) GUI性能得到極大提高。加速驅(qū)動程序在DirectFB圖形庫中的實現(xiàn),充分利用了圖形加速器的加速功能,減輕了CPU的數(shù)據(jù)處理負擔,大大提高了嵌入式系統(tǒng)的GUI性能。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19833

    瀏覽量

    233926
  • 嵌入式
    +關注

    關注

    5144

    文章

    19575

    瀏覽量

    315776
  • 接口
    +關注

    關注

    33

    文章

    8968

    瀏覽量

    153357
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    七大嵌入式GUI盤點

    嵌入式圖形用戶界面(GUI)是一種為嵌入式系統(tǒng)設計的用戶界面,它可以讓用戶通過圖形化的方式與設備
    發(fā)表于 09-02 10:58

    嵌入式Linux圖形系統(tǒng)(GUI)快速參考手冊

    --一個雙重協(xié)議的(GPL或者商業(yè)協(xié)議)的項目,建立一個小型的窗口系統(tǒng),支持嵌入式系統(tǒng)和設備.它提供相應Win32API的窗口管理功能.Fluffy Spider: FancyPan
    發(fā)表于 02-14 13:40

    嵌入式多任務GUI實現(xiàn)什么功能

    嵌入式GUI(Graphic Uset Interface)系統(tǒng)就是在嵌入式系統(tǒng)中為特定的硬件設備或環(huán)境而設汁的
    發(fā)表于 09-24 06:23

    一種嵌入式GUI軟件結(jié)構(gòu)實現(xiàn)方案

    綜合比較了嵌入式GUI的幾種實現(xiàn)方式,結(jié)合嵌入式系統(tǒng)的特點,研究了嵌入式
    發(fā)表于 02-21 11:36 ?24次下載

    嵌入式系統(tǒng)圖形用戶界面(GUI)的設計與研究Design a

    本文提出一種通用的嵌入式系統(tǒng)圖形用戶界面(GUI)的設計思想和體系結(jié)構(gòu)。其實現(xiàn)方法是以消息驅(qū)動機制為核心,采取窗口間的層疊順序管理和相互剪切
    發(fā)表于 05-26 16:33 ?39次下載

    嵌入式單窗口GUI系統(tǒng)的設計與實現(xiàn)

    圖形用戶界面(GUI)系統(tǒng)和操作系統(tǒng)(OS)進行類比,提出了一種新的嵌入式GUI
    發(fā)表于 07-30 10:00 ?21次下載

    基于Linux的輕量級嵌入式GUI系統(tǒng)實現(xiàn)

    本文介紹了嵌入式圖形用戶界面(GUI)的特點、發(fā)展概況以及嵌入式圖形用戶界的實現(xiàn)方法。針對開發(fā)自
    發(fā)表于 08-31 11:52 ?23次下載

    嵌入式系統(tǒng)開發(fā)之ucos在各種硬件上的GUI實現(xiàn)

    嵌入式系統(tǒng)開發(fā)之ucos在各種硬件上的GUI實現(xiàn).rar 嵌入式用戶圖形接口uC/
    發(fā)表于 03-15 14:10 ?79次下載

    嵌入式圖形系統(tǒng)μc/GUI的移植和開發(fā)

    嵌入式圖形系統(tǒng)μc/GUI的移植和開發(fā) 摘要  嵌入式系統(tǒng)的開發(fā)已成為新的行業(yè)熱點,而
    發(fā)表于 12-25 17:55 ?1259次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>圖形</b><b class='flag-5'>系統(tǒng)</b>μc/<b class='flag-5'>GUI</b>的移植和開發(fā)

    基于嵌入式Qt的樓宇對講系統(tǒng)GUI平臺設計

    提出了嵌入式樓宇對講的GUI實現(xiàn)和流程。文章還對嵌入式Linux的移植做了論述,對樓宇對講系統(tǒng)涉及底層事件和軟件構(gòu)架進行分析,完成了樓宇對講
    發(fā)表于 01-13 15:33 ?95次下載
    基于<b class='flag-5'>嵌入式</b>Qt的樓宇對講<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>GUI</b>平臺設計

    嵌入式圖形用戶界面系統(tǒng)設計分析

    為了滿足嵌入式系統(tǒng)的界面設計需求,給出了一種圖形用戶界面系統(tǒng)SKY-GUI的設計思路和其在嵌入式
    發(fā)表于 10-16 15:24 ?1次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>圖形</b>用戶界面<b class='flag-5'>系統(tǒng)</b>設計分析

    Qt圖形編程基礎之嵌入式GUI

    分享到:標簽:Qt圖形編程 嵌入式GUI Linux 操作系統(tǒng) 12.1 嵌入式GUI簡介 目前
    發(fā)表于 10-18 14:45 ?0次下載

    ARM嵌入式系統(tǒng)GUI開發(fā)研究

    GUI發(fā)展至今,已經(jīng)有了許多的種類,具有了強大的功能嵌入式GUI已經(jīng)成為一個成功的嵌入式系統(tǒng)
    發(fā)表于 12-04 14:19 ?616次閱讀

    探究Microwindows的嵌入式GUI設計

    嵌入式圖形用戶界面( Embedded GUI) 是嵌入式計算機系統(tǒng)的核心技術之一。本文首先闡述Embedded GUI的應用現(xiàn)狀,指出Mi
    的頭像 發(fā)表于 03-24 10:26 ?2393次閱讀
    探究Microwindows的<b class='flag-5'>嵌入式</b><b class='flag-5'>GUI</b>設計

    嵌入式Linux常用GUI系統(tǒng)

    嵌入式Linux常用GUI系統(tǒng)【整理】嵌入式Linux中常用的GUI圖形用戶界面)
    發(fā)表于 11-01 16:31 ?4次下載
    <b class='flag-5'>嵌入式</b>Linux常用<b class='flag-5'>GUI</b><b class='flag-5'>系統(tǒng)</b>
    主站蜘蛛池模板: 日韩欧美一区二区三区视频 | bt磁力在线搜索 | 四虎在线视频 | 国产黄色片一级 | 国产美女一级高清免费观看 | 亚洲一区中文字幕在线 | 欧美日韩性猛交xxxxx免费看 | 久久亚洲成人 | 亚洲五月六月丁香激情 | 欧美肥穴 | 午夜操操 | 公妇乱淫日本免费观看 | 国产伦精品一区二区三区免费 | 色天天网| 国产在线播放一区 | 5g影院天天| 黄网在线观看 | 午夜伦y4480影院中文字幕 | 亚洲免费网 | 亚洲羞羞裸色私人影院 | 午夜国产精品久久久久 | 全免费一级毛片在线播放 | 乱操视频 | 免费网站色 | 男人的天堂视频网站清风阁 | 免费观看色视频 | 激情五月播播 | 日本欧美一区二区三区视频 | 日本黄色小视频网站 | 成年全黄大色大黄 | 亚洲天堂爱爱 | 国产真实野战在线视频 | 五月天婷婷亚洲 | 夜夜夜夜爽 | 亚洲精品自拍区在线观看 | 一级做a爱片就在线看 | 美女在线看永久免费网址 | 天天操综合网 | 日本黄色a级 | 天天干天天天天 | 夜夜春宵翁熄性放纵古代 |