国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案

這篇具有很好參考價(jià)值的文章主要介紹了Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


環(huán)境

Unity : 2020.3.37f1
Pipeline : BRP

(另一個(gè)項(xiàng)目在 2021.1.xx 的 LTS 下的 URP 管線同樣如此,目測:因?yàn)?UGUI 不受渲染管線切換而變化)


目的

便于索引,記錄搬磚


Screen Space - Overlay

可以看到,下圖
Canvas 的 Render Mode 在使用: Screen Space - Overlay 模式下的DC為 8
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

這里導(dǎo)致合批失敗的有兩個(gè)問題:

  1. 圖片顯示有相互的堆疊遮擋
  2. 部分UI組件的localPosition.z != 0

UI AABB overlap
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

localPosition.z != 0
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

DrawCall 就會增加很多
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

相當(dāng)于一個(gè)都合批不了,要是UI復(fù)雜,有多,那么性能就渣渣了


優(yōu)化

如下圖

我們修改了這些內(nèi)容,即可合批:

  • Canvas Render Mode 調(diào)整為:Screen Space - Camera,并指定相機(jī)
  • 然后將 UI 的 Hierarchy 層級嵌套要展平,需要同級化
  • 然后 shader 需要開啟 alpha test 和 ZWrite On, ZTest LEqual

Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

Canvas Render Mode 調(diào)整為:Screen Space - Camera,并指定相機(jī)
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

然后將 UI 的 Hierarchy 層級嵌套要展平,需要同級化
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

Alpha Test, ZWrite On, ZTest LEqual
Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗

Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案,unity,unity 搬磚,unity,ui合批,UI AABB重疊,z不等于0,合批失敗


限制

這個(gè)方案目前總結(jié)下來有那么一些限制:

  1. 如果透明區(qū)域不是偏向 矩形的,那么只能開啟 alpha test
  2. 如果開其alpha test 那么邊緣效果黑背景混合鋸齒感比較強(qiáng)
  3. hierarchy 視圖中的 go 層級需要調(diào)整,導(dǎo)致無法使用 parent 的整體移動
  4. 如果需要整體移動需要自己寫組件同步位置

該方案起源

其他項(xiàng)目組的一位 TA 大佬,分享了一下 UI 的 AABB Overlap 下的合批
結(jié)果他自己做了一些嘗試,發(fā)現(xiàn)可以這么整
這種如果有 UGUI 黑箱部分的合批邏輯,都會比較好處理(比如,如果你們項(xiàng)目有購買 unity 引擎源碼,那是可以一探究竟,甚至可以自行修改的)

然后我們沒有unity引擎源碼,在這種情況下,這位TA大佬都測試出來了,真的牛逼

(然后這種方式其實(shí)在 UWA UGUI 優(yōu)化課程中也有講到類似的優(yōu)化,到時(shí)連接我就不方便發(fā)了,給自己看,我也貼上來吧:Unity - UGUI 優(yōu)化 (NGUI vs UGUI) - 筆錄 - UWA大神推薦學(xué)習(xí)篇)


因此我將這次大佬的研究成果直接記錄筆記,便于后續(xù)索引,備忘


另外,這些內(nèi)容純純是搬磚,都是基于別人的引擎(unity引擎)下使用UGUI 的一些問題

較真怎么才不屬于搬磚:

  • 尋找硬件物質(zhì)材料
  • 制作硬件
  • 制作芯片
  • 編寫硬件芯片驅(qū)動程序
  • 編寫操作系統(tǒng)
  • 再操作系統(tǒng)上編寫編程語言(不使用二進(jìn)制指令的編寫方式,規(guī)模大就不可維護(hù))
  • 編寫編譯器
  • 編寫IDE
  • 使用你自己的IDE編寫引擎APP
  • 再使用你自己的系統(tǒng)編寫引擎的渲染器
  • 再編寫渲染與硬件加速渲染結(jié)合

那么恭喜你,終于不是搬磚了文章來源地址http://www.zghlxwxcb.cn/news/detail-643306.html

到了這里,關(guān)于Unity - 搬磚日志 - UGUI合批優(yōu)化 - Overlap(UI AABB 有重疊), Z != 0 照樣合批的方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity - 搬磚日志 - BRP 管線下的自定義陰影尺寸(脫離ProjectSettings/Quality/ShadowResolution設(shè)置)

    Unity - 搬磚日志 - BRP 管線下的自定義陰影尺寸(脫離ProjectSettings/Quality/ShadowResolution設(shè)置)

    Unity : 2020.3.37f1 Pipeline : BRP (好久沒搬磚了,偶爾健身一下,順便將這些無技術(shù)含量的內(nèi)容,記到 blog,不要記在腦子) 最近給項(xiàng)目做優(yōu)化的過程中 發(fā)現(xiàn) BRP 管線下的 Shadow Resolution 只能在 Project Settings/Quality/Shadow Resolution 去設(shè)置 而且發(fā)現(xiàn) Shadow Resolution 的一些枚舉為: Low Resolut

    2024年02月14日
    瀏覽(23)
  • Unity - 搬磚日志 - Android 的 Optimized Frame Pacing - 對應(yīng) ProjectSettings 配置字段:androidUseSwappy (影響鎖幀)

    Unity - 搬磚日志 - Android 的 Optimized Frame Pacing - 對應(yīng) ProjectSettings 配置字段:androidUseSwappy (影響鎖幀)

    備忘用,因?yàn)?project settings 動不動,會提交一堆不相關(guān)的配置字段修改 Unity PlayerSettings 的 GUI 上 Optimized Frame Pacing 和 實(shí)際的 ProjectSettings 字段名字差異太大 通過驗(yàn)證發(fā)現(xiàn)是: androidUseSwappy 字段 Android Performance Tuner 簡介 (Unity) 注意 Optimized Frame Pacing 還會影響鎖幀的作用,如果開

    2024年02月13日
    瀏覽(22)
  • Unity DrawCall優(yōu)化 - UGUI優(yōu)化

    Unity DrawCall優(yōu)化 - UGUI優(yōu)化

    一、DrawCall是什么? Unity 展示出來的畫面,是通過GPU繪制出來,才顯示出來的。 在場景中,一個(gè)場景內(nèi)的物體,分幾個(gè)批次提交給顯卡來繪制,就是幾個(gè)DrawCall。 在Unity中,兩個(gè)地方可以查看DrawCall, 1.在Game視口,的Stats,點(diǎn)擊一下打開一個(gè)窗口,Batches:后面的就是Drawcall值。

    2024年03月13日
    瀏覽(15)
  • Unity UI——UGUI

    Unity UI——UGUI

    包名: com.unity.ugui Canvas : ??容納所有UI元素的區(qū)域。 ??一種帶有畫布組件的游戲?qū)ο蟆???使用EventSystem對象來協(xié)助消息系統(tǒng)。 繪制順序: 按照在 Hierarchy 中顯示的順序繪制,由上到下。 如果兩個(gè) UI 元素重疊,則后一個(gè)元素將顯示在前一個(gè)元素之上 渲染模式:(Render Mode)

    2024年04月28日
    瀏覽(30)
  • 【UGUI】學(xué)會Unity中UGUI中UI元素自適應(yīng)問題

    徹底學(xué)會Unity中UGUI中UI元素自適應(yīng)問題 官方介紹:設(shè)計(jì)用于多種分辨率的 UI - Unity 手冊 所所謂自適應(yīng)就是畫面元素跟隨屏幕分辨率的改變而保持相對位置或者自身像素同步改變! 屏幕分辨率自適應(yīng):依靠畫布縮放器組件完成 相對位置:依靠錨點(diǎn)位置完成,錨點(diǎn)主要負(fù)責(zé)保持

    2024年02月04日
    瀏覽(18)
  • Unity--UGUI創(chuàng)建基本的UI

    Unity--UGUI創(chuàng)建基本的UI

    隨著UI系統(tǒng)的引入,已添加了新組件,這些組件將有助于創(chuàng)建特定于GUI的功能。其中一些元素包括文本,圖像,按鈕等。在本教程中,您將學(xué)習(xí)創(chuàng)建和使用基本UI。 通過Unity的用戶界面(UI)系統(tǒng),可以控制諸如:文本,圖像,按鈕和其他用戶控件之類的元素,這些元素將為用

    2024年04月12日
    瀏覽(21)
  • Unity-UGUI優(yōu)化策略

    Unity-UGUI優(yōu)化策略

    界面出棧規(guī)則: 界面目錄導(dǎo)航、策劃界面回退需求造成界面套娃問題,夾帶一系列層級問題,應(yīng)該和策劃進(jìn)行友好溝通,避免界面不合理的出棧入棧規(guī)則 overdraw: 盡量減少同屏 半透明物體渲染 Unity 之 UGUI優(yōu)化(Optimizing UGUI)—當(dāng)最專業(yè)的拖拖拽拽

    2024年02月13日
    瀏覽(14)
  • Unity UGUI的DrawCall優(yōu)化

    Unity UGUI的DrawCall優(yōu)化

    Unity UGUI是一種強(qiáng)大的用戶界面設(shè)計(jì)工具,它可以幫助開發(fā)者快速創(chuàng)建各種界面元素,從按鈕和文本到滑塊和面板等。然而,在使用UGUI時(shí),一個(gè)常見的性能瓶頸就是DrawCall過多導(dǎo)致的性能下降。在本文中,我們將深入探討UGUI的DrawCall優(yōu)化方法,并給出對應(yīng)的代碼實(shí)現(xiàn)。 什么是

    2024年02月22日
    瀏覽(13)
  • Unity UGUI事件輸入,點(diǎn)擊UI無反應(yīng)

    Unity UGUI事件輸入,點(diǎn)擊UI無反應(yīng)

    之前被一個(gè)特別低級的UI點(diǎn)擊問題卡了好久,記錄一下,避免之后再犯同樣的錯誤。 UI事件輸入未接受到的原因無非就幾個(gè),一一排查總能找到原因。 1、若是直接使用的unity組件中的按鈕,但是點(diǎn)擊按鈕沒有反應(yīng)。 ? ? ? ? 1)查找是否被其他UI遮擋 ? ? ? ? 2)查找是否接收

    2024年04月13日
    瀏覽(17)
  • Unity UGUI一鍵綁定UI控件工具(編輯器拓展)

    Unity UGUI一鍵綁定UI控件工具(編輯器拓展)

    全為一鍵生成 實(shí)現(xiàn)自動生成代碼綁定UI控件 并生成字典保存UI控件 減少自己拖拽 和手動書寫過程 適用動態(tài)加載面板 建議搭配UI框架使用 根據(jù)當(dāng)前選中的gameobject 查找其下方是否有對應(yīng)類型的控件 有就保存到字典中 然后通過向上遞歸拼湊地址,然后生成到粘貼板 直接粘貼到目

    2024年04月23日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包