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

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

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

使用shouldRasterize屬性如何解決GPU視圖的混合和過度繪制的概述

Dbwd_Imgtec ? 來源:未知 ? 作者:易水寒 ? 2018-05-13 11:36 ? 次閱讀

GPU每一幀可以繪制的像素有一個最大限制(就是所謂的fill rate),這個情況下可以輕易地繪制整個屏幕的所有像素。但是如果由于重疊圖層的關系需要不停地重繪同一區(qū)域的話,掉幀就可能發(fā)生了。

GPU會放棄繪制那些完全被其他圖層遮擋的像素,但是要計算出一個圖層是否被遮擋也是相當復雜并且會消耗處理器資源。同樣,合并不同圖層的透明重疊像素(即混合)消耗的資源也是相當客觀的。所以為了加速處理進程,不到必須時刻不要使用透明圖層。

任何情況下,你應該這樣做:

  • 給視圖的backgroundColor屬性設置一個固定的,不透明的顏色

  • 設置opaque屬性為YES

這樣做減少了混合行為(因為編譯器知道在圖層之后的東西都不會對最終的像素顏色產(chǎn)生影響)并且計算得到了加速,避免了過度繪制行為因為Core Animation可以舍棄所有被完全遮蓋住的圖層,而不用每個像素都去計算一遍。

如果用到了圖像,盡量避免透明除非非常必要。如果圖像要顯示在一個固定的背景顏色或是固定的背景圖之前,你沒必要相對前景移動,你只需要預填充背景圖片就可以避免運行時混色了。

如果是文本的話,一個白色背景的UILabel(或者其他顏色)會比透明背景要更高效。

最后,明智地使用shouldRasterize屬性,可以將一個固定的圖層體系折疊成單張圖片,這樣就不需要每一幀重新合成了,也就不會有因為子圖層之間的混合和過度繪制的性能問題了。


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

    關注

    27

    文章

    4639

    瀏覽量

    128474
  • Core
    +關注

    關注

    0

    文章

    174

    瀏覽量

    42846
  • 編譯器
    +關注

    關注

    1

    文章

    1608

    瀏覽量

    48979

原文標題:GPU繪圖:如何應對混合和過度繪制?

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    HarmonyOS實戰(zhàn)開發(fā)-如何通過BlendMode屬性來實現(xiàn)掛件和圖片的混合

    介紹 本實例主要通過BlendMode屬性來實現(xiàn)掛件和圖片的混合,通過更改不同的混合參數(shù),能夠展示不同的混合效果。 效果圖預覽 使用說明 : 進入頁面,點擊掛件區(qū)域,進行掛件和圖片的
    發(fā)表于 05-07 14:45

    ***如何根據(jù)底視圖繪制封裝庫

    今天遇到一個貼焊的芯片,只有底視圖,按照底視圖尺寸繪制了一個封裝,可實際焊接(繪制PCB)的時候需要的是頂視圖,要不然焊接就不對了,我怎么才
    發(fā)表于 03-12 15:08

    繪制PCB的3D視圖和其他的一些特殊需求

    RT,樓主現(xiàn)在繪制了一塊PCB,現(xiàn)在由于工作需要,要把這個PCB的3D視圖導出到CAD,要求顯示所有細節(jié),樓主用的Altiun Desiger 15,目前做了以下的嘗試:1.導出為DWG/DXF格式
    發(fā)表于 09-07 10:59

    單個GPU上不支持混合配置文件嗎?

    有人可以確認單個GPU上不支持混合配置文件嗎?我知道這在K1 / K2 GPU中不受支持,但聽到有關M6 / M60 GPU的一些混合消息。
    發(fā)表于 10-08 14:07

    如何使用CAD來繪制軸測圖和三視圖?

      很多設計師在繪制dwg三視圖的過程中都會在圖紙的下方繪制一個立體圖形,這樣能很直觀的表現(xiàn)出圖形的形狀和結構,而在CAD軟件中除了繪制三維圖形表達外,還有一個方法就是用等軸測投影所
    發(fā)表于 04-15 16:20

    MATLAB高級圖形繪制技術

    MATLAB高級圖形繪制技術 5.1 其他二維圖形繪制命令5.2 其他三維圖形繪制命令5.3 句柄圖形繪制技術5.4 圖形可視編輯工具5.5 視角變換與三
    發(fā)表于 09-03 12:17 ?0次下載

    MATLAB高級圖形繪制技術

    MATLAB高級圖形繪制技術 5.1 其他二維圖形繪制命令5.2 其他三維圖形繪制命令5.3 句柄圖形繪制技術5.4 圖形可視編輯工具5.5 視角變換與三
    發(fā)表于 09-03 12:18 ?0次下載

    基于GPU的點模型實時繪制

    近幾年隨著GPU的可編程能力的增強,很多基于點的繪制算法都可以移植到GPU上來實現(xiàn),這樣既可以讓CPU有時間來處理其他事,又可以通過GPU提高算法的運行速度。由于目前的
    發(fā)表于 03-01 14:49 ?7次下載

    C_與Matlab混合編程在BEAM繪制中的應用_范嬋嬌

    C_與Matlab混合編程在BEAM繪制中的應用_范嬋嬌
    發(fā)表于 03-19 11:26 ?0次下載

    醫(yī)學層析圖像實時體繪制

    層析圖像到計算機內(nèi)存,構造體素;然后,設置相應體素屬性(如插值方式、著色處理、光照參數(shù))等,設計顯示不同組織器官的顏色及不透明度傳輸函數(shù);最后,GPU加栽體素據(jù)并進行光線投射算法的計算。實驗結果表明,在繪制速度上,GP
    發(fā)表于 02-05 15:23 ?1次下載

    OrCAD教程:如何添加footprint屬性 如何生成netlist

    添加footprint屬性 單個元件添加footprint屬性 第一種方法:直接修改 1雙擊元件,彈出property editor對話框 2在左上角空白處右鍵-pivot,改變視圖 改變后
    發(fā)表于 04-24 08:28 ?1w次閱讀
    OrCAD教程:如何添加footprint<b class='flag-5'>屬性</b> 如何生成netlist

    數(shù)據(jù)庫教程之索引和視圖的詳細資料概述免費下載

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫教程之索引和視圖的詳細資料概述免費下載包括了:索引基本概念,索引的存儲結構及分類,創(chuàng)建和刪除索引,視圖概念 定義視圖,通過
    發(fā)表于 10-19 10:41 ?9次下載
    數(shù)據(jù)庫教程之索引和<b class='flag-5'>視圖</b>的詳細資料<b class='flag-5'>概述</b>免費下載

    變精度下不完備混合數(shù)據(jù)如何進行增量式屬性約簡

    為了解決當不完備混合決策系統(tǒng)中數(shù)據(jù)動態(tài)增加時,靜態(tài)屬性約簡方法的計算復雜度高的問題,提出變精度下不完備混合數(shù)據(jù)的增量式屬性約簡方法。首先,在變精度模型下給出了利用條件熵度量
    發(fā)表于 12-07 16:12 ?8次下載
    變精度下不完備<b class='flag-5'>混合</b>數(shù)據(jù)如何進行增量式<b class='flag-5'>屬性</b>約簡

    何解決模擬混合信號設計的挑戰(zhàn)

    這種按需網(wǎng)絡研討會演示了如何解決模擬混合信號設計挑戰(zhàn)增加可靠性和速度與AMS墊專業(yè)產(chǎn)品開發(fā)。
    的頭像 發(fā)表于 10-18 07:08 ?3481次閱讀

    可在現(xiàn)有視圖上布局和繪制分隔線的庫文件

    該庫可以幫助您輕松地在現(xiàn)有視圖上布局和繪制分隔線。為了獲得更好的性能,請不要再為繪圖分隔線創(chuàng)建新視圖,而應使用drawable。 安裝 方式一: 添加har包到lib文件夾內(nèi) 在entry
    發(fā)表于 03-22 10:09 ?0次下載