色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

引言

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

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

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

1.1 DirectFB簡介

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

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

(1)DirectFB訪問硬件顯卡

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

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

◆映射顯存

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

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

◆映射顯存IO端口

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

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

(2)DirectFB訪問輸入設(shè)備

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

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

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應(yīng)用程序配置文件directfbrc中配置。屏幕是指輸出設(shè)備,如LCD。圖層代表獨立的圖像緩沖區(qū),一般是在顯示的時候自動由硬件融合,硬件一般采用alpha技術(shù)融合。圖層數(shù)量的多少取決于圖形處理器,一般復(fù)雜的圖形處理器都支持多層顯示。一層內(nèi)容的改變不影響其他層的內(nèi)容。

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

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

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

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

a)static int dnver_probe(GraphicsDevice*device);

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

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

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

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

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

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

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

3 加速性能測試

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

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

結(jié)語

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

責(zé)任編輯:gt

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

    關(guān)注

    68

    文章

    19535

    瀏覽量

    231859
  • 嵌入式
    +關(guān)注

    關(guān)注

    5103

    文章

    19268

    瀏覽量

    310026
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8775

    瀏覽量

    152397
收藏 人收藏

    評論

    相關(guān)推薦

    七大嵌入式GUI盤點

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

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

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

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

    嵌入式GUI(Graphic Uset Interface)系統(tǒng)就是在嵌入式系統(tǒng)中為特定的硬件設(shè)備或環(huán)境而設(shè)汁的
    發(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)的設(shè)計與研究Design a

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

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

    圖形用戶界面(GUI)系統(tǒng)和操作系統(tǒng)(OS)進(jìn)行類比,提出了一種新的嵌入式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 ?1181次閱讀
    <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平臺設(shè)計

    提出了嵌入式樓宇對講的GUI實現(xiàn)和流程。文章還對嵌入式Linux的移植做了論述,對樓宇對講系統(tǒng)涉及底層事件和軟件構(gòu)架進(jìn)行分析,完成了樓宇對講
    發(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>平臺設(shè)計

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

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

    Qt圖形編程基礎(chǔ)之嵌入式GUI

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

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

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

    探究Microwindows的嵌入式GUI設(shè)計

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

    嵌入式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>
    主站蜘蛛池模板: 特黄特色大片免费播放器9 特黄特黄aaaa级毛片免费看 | 性虎成人网| 在线精品视频成人网 | 国产欧美精品一区二区色综合 | 高冷师尊被CAO成SAO货 | 免费观看高清黄页网址大全 | 香蕉eeww99国产精选播放 | 好硬好湿好爽再深一点视频 | 亚洲、国产综合视频 | 久久99热这里只频精品6 | 久久视频在线视频观品15 | 97国产揄拍国产精品人妻 | 亚州免费一级毛片 | 男人到天堂a在538线 | 在线免费视频国产 | 区久久AAA片69亚洲 | 极品少妇粉嫩小泬啪啪AV | 久久综合给合久久狠狠狠… | 性色AV一区二区三区V视界影院 | 99re6热这里在线精品视频 | 亚洲人成无码久久久AAA片 | 国产精品无码亚洲区艳妇 | 60老妇性xxxxhd| 久久re视频精品538在线 | 精品人妻无码一区二区三区蜜桃臀 | 欧美AAAAAA级午夜福利视频 | 伊人久久大香线蕉电影院 | 欧美激情精品久久久久 | 一区二区乱子伦在线播放 | 男人扒开添女人屁股 | 久久久久久久久a免费 | 国产午夜视频 | 日韩亚洲国产中文字幕欧美 | 久久全国免费观看视频 | 中文字幕精品视频在线 | 亚洲国产精品久久人人爱 | 被吊起玩弄的女性奴 | 首页 国产 亚洲 中文字幕 | 九九精品在线播放 | 最新无码二区日本专区 | 亚洲AV成人无码网天堂 |