999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

國產平臺嵌入式高性能圖形方案的研究與應用

2018-05-14 09:57:28胡明星肖博峰游夏
數字技術與應用 2018年2期
關鍵詞:引擎嵌入式

胡明星 肖博峰 游夏

摘要:為了提升顯示應用在國產軟硬件平臺上的性能,本文提出了GPU顯示芯片搭配國產CPU的嵌入式高性能圖形方案。文中介紹了基于OpenGL ES的硬加速技術和QT5.5圖形系統的分層模塊化設計,以及在龍芯平臺和銳華操作系統中使用的關鍵技術,最后通過銳華和linux操作系統的對比數據,證明了圖形性能得到了顯著的提高,滿足嵌入式圖形應用需求。

關鍵詞:國產平臺圖形方案;GPU硬件加速驅動;OpenGL ES協議;QT5.5圖形系統

中圖分類號:TP273.5 文獻標識碼:A 文章編號:1007-9416(2018)02-0094-03

1 概述

隨著嵌入式顯示技術的快速發展,各種尺寸和能力增強的嵌入式顯示設備被部署在車輛、船舶、飛機以及士兵的手中,實現更逼真、更立體、更高速的圖象顯示和數據處理。這些高性能顯示設備對嵌入式圖形處理能力提出了更高的要求,當前通過CPU實現的圖形渲染引擎在國產CPU上性能低下,無法支撐日益復雜的應用需求。出于信息安全和國家自主可控考慮,將GPU加速驅動應用到國產處理器的高性能圖形系統中具有重要的理論和現實意義。

嵌入式高性能圖形解決方案采用了銳華嵌入式實時操作系統,充分利用AMD E8860顯示芯片的硬件加速性能,在國產龍芯CPU的硬件平臺下,以QT5.5圖形系統為基礎圖形界面框架,配備OpenGL ES標準的三維圖形渲染引擎,實現分辨率高達1920x1600的多屏顯示能力要求的二維/三維圖形引擎。

2 高性能圖形引擎的總體設計

嵌入式高性能圖形方案將采用層次化、模塊化設計,其構架如圖1所示。

(1)硬件:龍芯3A2000 CPU處理器是具有自主知識產權的處理芯片,該芯片作為獨立的CPU具有高性能低功耗的特點,廣泛使用在軍用嵌入式系統中。支持渲染編程的AMD E8860圖形顯示芯片具備多屏高分辨率拼接顯示能力和高性能OpenCL并行運算能力,可以將控制、信號處理和圖形集成于一個并行計算與顯示處理模塊中,體現了完美的協同運算和顯示功能。

(2)操作系統層:龍芯處理器搭載銳華嵌入式實時操作系統的純國產嵌入式平臺已成為多項信息產業科研項目的研發平臺。銳華操作系統采用64位操作系統內核,支持64位國產龍芯處理器。基于GPU的硬加速驅動框架屏蔽了不同顯示芯片和操作系統的差異,實現了E8860顯示芯片的圖形硬加速驅動,支撐了三維圖形渲染引擎和二維圖形引擎的高效顯示。

(3)圖形引擎層:OpenGL ES圖形繪制引擎為用戶提供支持加速高效的符合OpenGL ES標準的三維圖形渲染接口,并為QT5.5提供支撐。基于QT5.5的二維圖形界面框架提供了高效的二維控件接口及與三維視景融合的人機交互窗口接口。

(4)應用層:高性能的圖形引擎可應用于戰場態勢可視化、雷達航跡繪制、地理信息實時顯示等二維、三維圖形渲染,在嵌入式圖形應用方面有廣泛的推廣前景。

3 高性能圖形引擎的關鍵技術

3.1 圖形引擎的優化技術

決定圖形繪制性能的因素,除了本身圖形芯片盡量選擇性能高的GPU以外,還取決于內存拷貝的速度、DMA傳送速度、GPU圖形硬加速能力、圖形應用的優化等。因此,在國產嵌入式平臺CPU的條件下,提高圖形引擎性能的途徑如下:

(1)優化C庫的技術。根據不同的處理器結構特性采用匯編語言編寫;C庫中的memcpy、memmove等部分接口,改造原先逐字節拷貝的實現方式。根據龍芯CPU的字長特點,采用64位load/store指令一次以8字節(64位)拷貝來提高訪問的位寬及速度;

(2)提高PCI總線DMA傳送速度。在圖形引擎中,數據交換是最為頻繁的功能,提高DMA傳送速度會大大降低CPU的資源占有率。針對處理器的cache的特性,避免數據交換過程中頻繁的cache不命中情況,程序中確保數據連續讀取或寫入一整條cacheline。

(3)避免非對齊方式訪問。非對齊方式訪問內存頻繁發生會導致處理器性能降低,因此在圖形引擎設計上,在定義數據結構和對數據進行存儲分配時,避免非對齊的地址分配。針對源地址和目標地址不對齊情況,通過先拷貝部分數據后,再使得源地址和目標地址對齊,從而使用高位寬的訪存指令。

(4)采用GPU圖形硬件加速技術。圖形硬件加速的基本要求是在硬件層中要有顯示芯片或獨立顯卡,實現基于GPU符合OpenGL ES標準的三維圖形渲染引擎驅動,支持區域拷貝、矩形填充、紋理顯示等硬件加速接口,為二維圖形引擎奠定良好的基礎。

(5)圖形應用的優化。把應用任務分布在多核上運行,降低單個CPU的負荷,發揮CPU多核的計算能力,實現SMP模式下的繪制。

3.2 圖形引擎設計主要關鍵技術

(1)GPU顯存空間管理機制。GPU顯存空間管理機制決定了顯示資源在顯存里的分配和使用情況。當顯存中出現非法數據時,GPU將由于無法解析非法指令而陷入未知狀態,因此需要采取恰當的措施確保顯存管理中不發生越界或非法使用的情況。為了減少顯存碎片,設計驅動的抽象層必須基于堆的空間管理機制來管理顯存的分配。實現基于硬件的內存對齊、基于空間管理機制及固定類型資源(如紋理、頂點數據、幀緩存、環狀命令隊列等)的創建。在堆中創建批量的子緩存池,可以確保不同類型資源數據不發生越界的危險,設計可變長的資源數據來分割成多個子緩存進行存儲,避免產生內存碎片,確保DMA傳送連續空間數據的傳送效率。

(2)GPU硬加速驅動。對龍芯平臺下GPU主存地址空間、命令緩沖與傳輸機制及命令包的特點,實現GPU的硬件加速驅動。設計思想是將GPU驅動分為用戶態驅動和內核態驅動兩個部分。用戶態驅動主要負責從三維圖形渲染引擎數據的傳遞以及頂點階段的編譯與封裝過程。內核態驅動主要負責顯存管理、中斷控制以及函數表等,并將GPU對硬件的操作封裝成上層所調用的應用接口函數。驅動結構分為兩個部分:軟件處理部分和硬件處理部分。軟件部分會將頂點處理的投影變換等矢量變換都交給CPU來處理,硬件部分會把傳入的頂點數據與指令傳遞給GPU,然后利用GPU的處理單元實現繪制功能。GPU驅動處理流程圖如圖2所示。

(3)高效的渲染引擎模式。渲染引擎模式包括著色器和渲染編譯器。著色器是采用GLSL高級語言編寫的一段能夠針對3D對象進行操作,并被GPU所執行的程序。渲染編譯器是允許應用程序對渲染進行即時編譯,高效的靜態編譯將確保渲染目標代碼生成的效率。在使用方法上,開發者將3D對象著色編程后通過靜態編譯器進行編譯,生成GPU識別的特定的二進制字節碼并預先下裝到目標平臺中,在運行時GPU直接讀取二進制字節碼在界面中進行精細的逐點著色。這種靜態高效的渲染引擎模式設計模式使三維渲染效果的性能得到大大提升。

3.3 OpenGL協議棧與QT5.5庫的適配

為了在同一視窗下同時繪制2D控件和3D對象(如紋理按鈕、逐幀顯示的地圖或三維場景),我們將拋棄繁雜低效的X窗口架構,采用最新的EGL+OpenGL ES架構,發揮底層OpenGL底層硬加速驅動在龍芯3A平臺上順暢運行,需要開啟QT的configure參數的幾個選項如下:

./configure -arch mips -xplatform mipsel-elf-g++ -eglfs opengl es2。

4 測試與實驗結果

4.1 性能測試數據

分別在銳華和Ubuntu linux操作系統上進行圖形繪制對比測試。相關的軟硬件情況:CPU型號為龍芯3A2000,顯示芯片組型號為AMD E8860;銳華操作系統為國產嵌入式實時操作系統,版本號為4.7.1,使用了基于OpenGL的硬加速驅動;Ubuntu linux操作系統安裝了開源驅動MESA。設置分辨率位1024x768,采用性能測試程序ES2Bench和glMarkES2。測試的結果如表1所示。通過測試數據對比,證明了在銳華的圖形性能優于linux操作系統。

4.2 基本圖元性能分析

ES2Bench主要是測試畫線(Line)、畫三角形(Triangle)等基本圖元在不同繪制模式下的繪制性能,單位為每秒多少條線(lps),每秒多少個三角形(tps)。繪制模式分為四種:對應頂點數據在內存中、頂點數據和索引數據均在內存中、頂點數據在顯存中、頂點數據和索引數據均在顯存中。從性能對比分析可以看出,在繪制線、三角形時,ReWorks的硬加速驅動性能明顯于開源驅動mesa軟件繪制引擎(1.5-10倍的繪制速度),說明在硬加速驅動中確實開啟了基本圖元的硬加速引擎。

glMarkES2主要測試了GPU 紋理貼圖及紋理濾波、頂點著色器功能、片段著色器功能。基于Reworks的硬加速驅動相比較于開源軟件mesa繪制引擎,性能均有明顯上升,達20倍以上。

4.3 雷達和QT用例性能分析

Radar用例設計了一個基本的雷達顯控軟件,該軟件主要實現了雷達狀態顯示,QT接口設計了界面控制,OpenGL接口繪制雷達掃描線和雷達靜止目標點跡。在不同的雷達掃描周期下,顯示流暢。基于linux由于其中包含一部分運算依賴于CPU, 整體應用在硬加速驅動相比較開源軟加速引擎上的表現大約提升5倍左右。如圖3所示。

5 結語

文中提出了在國產平臺上的一種高性能圖形解決方案,本方案充分利用AMD E8860顯示芯片的3D圖形加速,對國產CPU和操作系統的適配優化,使整個系統在圖形處理方面有了很大的改進,減輕了CPU的處理負擔。通過測試,在不開啟GPU加速時,GUI界面的最大刷新速率為12fps至13fps,而在開啟硬件加速之后最大刷新速率提高到了28fps至30fps。圖形應用驗證經過圖形加速后的GUI 界面響應大大加快, 不同界面的切換過程也沒有垂簾效應和拖動延遲,圖形性能有了顯著的提高。

參考文獻

[1]蔣飛.基于嵌入式Linux系統的數字電視GUI圖形加速設計[D].北京:北京郵電大學,2012.

[2]徐廣毅,張曉林,崔迎煒,等.嵌入式Linux 系統中GUI系統的研究與移植[J].單片機與嵌入式系統應用,2004.10:11-14.

[3]徐智林,周可風,林金龍. 一種基于嵌入式Linux 圖形用戶接口的實現[J].電腦開發與應用,2006,(1):27-29.

[4]陳皓,吳健學.一種嵌入式GUI的實現方案[J].電子設計工程,2017,31(9):2127-2130.

猜你喜歡
引擎嵌入式
以學促干 挺膺擔當 激活砥礪前行的紅色引擎
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
三生 三大引擎齊發力
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 九九九精品成人免费视频7| 久久久久无码国产精品不卡| 亚洲婷婷六月| 亚洲成a人片在线观看88| 99视频精品全国免费品| 青草视频在线观看国产| 九九热这里只有国产精品| 伊人成人在线| 国产精品污污在线观看网站| 久久香蕉国产线看观| 久久精品日日躁夜夜躁欧美| 久久精品嫩草研究院| 国产欧美日韩18| 99久久人妻精品免费二区| 欧美精品xx| 亚洲一区二区成人| 91精品网站| 最新亚洲人成无码网站欣赏网| 91免费精品国偷自产在线在线| 无码精品国产VA在线观看DVD| 亚洲Av综合日韩精品久久久| 日韩欧美高清视频| 一级一级特黄女人精品毛片| 成人国产精品2021| 视频国产精品丝袜第一页| 国产色爱av资源综合区| 中文字幕无码中文字幕有码在线| 日韩第一页在线| 日本欧美中文字幕精品亚洲| 精品少妇三级亚洲| 国产午夜小视频| 欧美中文字幕在线播放| 国产午夜福利片在线观看 | 国产手机在线观看| 日韩无码视频网站| 亚洲av片在线免费观看| 香蕉在线视频网站| 国产在线视频导航| jizz国产视频| 伊人久久综在合线亚洲2019| av午夜福利一片免费看| 亚洲国产成人自拍| 亚洲va欧美ⅴa国产va影院| 亚洲一区色| 亚洲色图欧美激情| 成年人福利视频| 波多野结衣AV无码久久一区| 国产精品自在在线午夜区app| 日韩一级二级三级| 色欲色欲久久综合网| 18禁色诱爆乳网站| 日韩欧美中文亚洲高清在线| 麻豆国产在线不卡一区二区| 久久久精品国产SM调教网站| 欧美精品xx| 国外欧美一区另类中文字幕| 国产极品美女在线| 2022精品国偷自产免费观看| 日韩小视频在线观看| 亚洲高清在线天堂精品| 亚洲天堂网在线观看视频| 亚洲中文无码av永久伊人| 欧美日韩成人| 久久香蕉欧美精品| 在线中文字幕网| 亚洲精品va| 全免费a级毛片免费看不卡| 高清国产在线| 亚洲综合片| 久久夜夜视频| 国产18在线播放| 日韩东京热无码人妻| 中文字幕在线看| 久久伊伊香蕉综合精品| 久久精品中文无码资源站| 亚洲人成网站18禁动漫无码| 亚洲精品天堂在线观看| 国产精品极品美女自在线| av手机版在线播放| 婷婷色一区二区三区| 国产a在视频线精品视频下载| 一区二区自拍|