openGL應用複雜度評價

2021-07-31 04:27:10 字數 667 閱讀 6018

在專案中,需要對使用opengl繪製的圖形應用、場景就複雜度進行評價並**同類應用的繪製效率。在有程式原始碼的條件下,從靜態統計和動態執行兩方面進行分析。如下圖

靜態統計關注的是程式**,主要統計**中呼叫圖形繪製命令的種類和次數,從類別和數量上了解程式的大致規模。另一方面,在圖形流水線中,基本圖元在光柵化中會被拆分成點、線和三角形這三種圖元,因此能夠在靜態分析中,用軟體模擬拆分,了解光柵化處理的資料量,定位頂點和畫素處理的負載。

靜態統計的實現,依靠函式過載,過載opengl命令比如glbegin、glvertex和glend等,在過載函式中加入統計資訊的處理。

動態統計根據實際執行的情況,精確計算出處理的能力,具體而言,主機處理命令的時間可以看做軟體時間、用glfinish繪製圖形的時間為硬體時間。在得到軟硬體時間的基礎上,根據靜態分析的結果能夠得到,頂點幀率、頂點生成能力、畫素幀率、畫素生成能力等。進一步,在軟體層面對點、線和三角形圖元進行選擇,得到僅繪製點、線、三角形和字元的幀率和處理能力。從而,發現應用特性和繪製瓶頸。

應用的評價,主要依靠對**靜態統計和動態執行兩方面,靜態統計確定**規模,包括圖元型別和數量;動態執行根據執行的軟硬體時間,計算硬體的處理能力,反過來推測應用的繪製特性和瓶頸。

軟體複雜度評價

在應用軟體和嵌入式產品 包括硬體 嵌入式軟體 的可靠性設計中,有一條基本原則就是 簡單可靠 分析軟體複雜度,可以支援對軟體的質量檢查 應用分析 以及評估後續維護成本,方便查明那些可能導致錯誤的 比如開展圈複雜度分析技術,對軟體進行結構測試。以軟體複雜度測量的數目為基礎,幫助工程師識別難於測試和維護的...

圈複雜度評價及工具

圈複雜度用來評價 複雜度,以函式為單位,數值越大表示 的邏輯分支越多,理解起來也更複雜。圈複雜度可以成為編碼及重構的重要參考指標,以指導撰寫可讀性高的 有關圈複雜度的定義,可以自行搜尋。大全 有如下的定義 計算子程式中決策點數量的技術 大全2,19章p458 1.由1 計數,一直往下通過程式。2.一...

時間複雜度 演算法評價的標準

前言 演算法,一直是每個程式設計師的心病,確是程式的核心,很多人覺得演算法很難,沒錯,但是世界上真的有很難的事情嗎?如果不去嘗試,只去抱怨,不去嘗試,我覺得可能一輩子也就只能當一名普通的程式設計師了。有一句老話說的挺好,成功的人遇到乙個難題,第一反應是想著怎麼解決它,而不是先擔心不會做,做不懂,如果...