網易首頁 > 網易號 > 正文 申請入駐

【厚積薄發】TextureStreaming針對不同分檔機型一般怎么設置

0
分享至

這是第447篇UWA技術知識分享的推送,精選了UWA社區、UWA AI問答的熱門話題等技術知識點,助力大家更全面地掌握和學習。

UWA社區主頁:community.uwa4d.com

無論是社區里開發者們的互助討論,還是AI基于知識沉淀的快速反饋,核心都是為了讓每一個技術難題都有解、每一次踩坑都有回響。本期分享分別來自UWA AI問答和UWA問答社區,希望這些從真實開發場景中提煉的經驗,能直接幫你解決當下的技術卡點,也讓你在遇到同類問題時,能更高效地找到破局方向。

本期目錄:

  • TextureStreaming針對不同分檔機型一般怎么設置

  • 不升級Unity引擎小改動快速適配安卓16KB頁面要求

From AI 問答

Q:想問問TextureStreaming的選項有沒有推薦值,針對高中低機型一般怎么設置呢?

A:關于Texture Streaming的參數設置,需結合設備性能分級(高中低)進行精細化配置,以在畫面表現與內存占用間取得最佳平衡。以下是針對不同機型的推薦策略:

核心參數說明

  • Memory Budget:紋理內存預算,決定Unity開始管理Mipmap加載的閾值。所有紋理(含非流式)均計入此預算。

  • Max Level Reduction:允許丟棄的最大Mipmap層數級數,優先級高于Memory Budget。例如設為2,則最多只加載Mipmap 2及更小層級。

  • Add All Cameras:默認開啟,對所有攝像機啟用串流。若需精細控制,可關閉并手動為特定攝像機添加Streaming Controller組件。

  • Renderers Per Frame:每幀處理的Renderer數量,影響CPU開銷。建議根據幀率動態調整,避免卡頓。

高中低機型設置推薦

1. 高端機型

  • 目標:追求極致畫質,充分利用硬件資源。

  • Memory Budget:512MB~1GB(確保略高于 Texture.desiredTextureMemory)。

  • Max Level Reduction:0或1(盡可能保留高分辨率Mipmap)。

  • 其他

  • 可適當提高Async Upload Time Slice和Buffer Size,加快資源上傳速度。

  • 啟用streamingTextureDiscardUnusedMips = false,利用緩存減少重復IO。

優勢:畫面細膩,無明顯紋理“popping”現象。

注意:監控targetTextureMemory,避免超出物理內存導致OOM。

2. 中端機型

  • 目標:平衡畫質與性能,控制內存峰值。

  • Memory Budget:200MB~300MB。

  • Max Level Reduction:1~2。

  • Renderers Per Frame:256~512(根據實際幀率微調)。

  • Async Upload

    • asyncUploadTimeSlice:4ms

    • asyncUploadBufferSize:16MB

    • asyncUploadPersistentBuffer = true

推薦做法:通過真機測試獲取desiredTextureMemory,將Budget設為其1.2倍左右,留出余量。

3. 低端機型

  • 目標:保障流暢運行,嚴控內存。

  • Memory Budget:100MB~150MB。

  • Max Level Reduction:2~3(強制降級,節省內存)。

  • Texture Quality:可配合使用“Half Res”模式進一步壓縮非關鍵紋理。

  • Renderers Per Frame:128~256,降低每幀CPU開銷。

  • 強制代碼開啟

QualitySettings.streamingMipmapsActive = true;

避免編輯器設置在移動端失效。

關鍵點:UI紋理務必關閉Streaming Mipmap,因其無需遠近LOD,開啟反而浪費計算和內存。

關鍵實踐建議

1. 必須代碼開啟Streaming

僅在 Quality Settings 中勾選可能在移動端無效,務必在啟動時調用:

SystemInfo.supportsMipStreaming // 先檢測是否支持 QualitySettings.streamingMipmapsActive = true;

2. 真機測試為準

Editor中紋理內存遠高于真機(路徑不同),一切優化效果驗證必須在目標設備上進行。

3. 合理啟用對象

  • 僅對場景模型貼圖啟用Streaming Mipmap。

  • UI、圖標、不帶Mipmap的紋理應關閉。

  • 確保紋理開啟Generate Mipmap且未勾選Read/Write Enabled(CPU內存不受Streaming影響)。

4. 動態調整策略參考

使用以下公式估算攝像機切換延遲最小時間:

最短延遲幀數 = (Texture.streamingRendererCount + RenderersPerFrame - 1) / RenderersPerFrame

結合Texture.streamingTexturePendingLoadCount判斷是否完成加載,實現平滑鏡頭切換。

5. Lightmap支持串流

在Player Settings中啟用Lightmap Streaming Enabled,同樣受Budget與Max Level Reduction控制。

總結

最終配置應基于真實項目資源規模與目標設備Profile數據確定,建議結合UWA GOT Online報告中的紋理內存模塊進行量化分析與迭代調優。

分享鏈接 :

https://www.uwa4d.com/main/uwa-shared.html?shareId=1d04bf11-027a-4d83-9ebf-f51f7c8a9407

From問答社區

分享:不升級Unity引擎小改動快速適配安卓16KB頁面要求

16KB Google Play兼容性要求 自2025年11月1日起,提交到Google Play且以Android 15及更高版本為目標平臺的所有新應用和現有應用更新都必須在64位設備上支持16KB頁面大小。

https://developer.android.com/guide/practices/page-sizes

*上述網址需要使用VPN打開

Unity官方提供了升級引擎的方案:


https://discussions.unity.com/t/info-unity-engine-support-for-16-kb-memory-page-sizes-android-15/1589588

如果項目還在使用古老的2018、2019等引擎不好升級怎么辦?

這里介紹一個方法:

一般Unity項目主要涉及以下幾個so需要處理:

  • libunity.so

  • libil2cpp.so

  • lib_burst_generated.so

  • libmain.so

根據谷歌的文檔,老版本NDK在鏈接so階段需要傳遞以下參數即可完成適配:

LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384" LOCAL_LDFLAGS += "-Wl,-z,common-page-size=16384"

那么我們逐個來看:

1. libunity.so

我們知道,項目勾選了Strip Engine Code的時候Unity是使用.a根據項目情況動態鏈接一個libunity.so出來的,所以我們很容易插入2這行,鏈接相關的參數對應的文件位于:

PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\StaticLibs\arm64-v8a\link.rsp

-Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384

加入這兩行即可。

2. libil2cpp.so

IL2CPP支持自定義參數,可以通過以下函數實現增加鏈接參數:

PlayerSettings.SetAdditionalIl2CppArgs("--linker-flags=\"-Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384\"");

調用一次即可,以上參數會保存在ProjectSettings.asset的additionalIl2CppArgs中。

3. lib_burst_generated.so

如果使用了burst,有條件的話可以直接升級到1.8.21+(參考以上官方鏈接),也可以自己魔改:使用dnSpy修改burst包.Runtime\Burst.Compiler.IL.dll的AotNativeLinkAndroid類的Link函數,添加那兩行參數即可。

4. libmain.so

這個so是Unity已經編譯好的,沒法自己鏈接,好在它幾乎沒怎么改過,可以從已經支持了的高版本拷貝一個過來覆蓋使用。

補充:上面解決的是so文件ELF的LOAD段的16KB對齊問題。

APK還存在2種模式:

  • 新模式:安裝應用的時候so文件不解壓出來,so在APK中是不壓縮的,這種情況是通過mmap直接將APK中的so映射到內存使用的。這要求兩點:so本身16K對齊 + so在APK中的偏移也要是16K對齊。

  • 舊模式:so在APK中是壓縮存儲的,安裝時會解壓so文件,這種情況只要求so本身對齊??梢酝ㄟ^useLegacyPackaging true開啟,AndroidManifest.xml中extractNativeLibs會被設置為true。

https://developer.android.com/guide/practices/page-sizes-packaging

*上述網址需要使用VPN打開

互動提問:不更換Unity版本,這塊會不會有問題?

https://developer.android.com/guide/practices/page-sizes?hl=zh-cn-code

A:目前未發現問題,游戲能正常運行。

互動提問:Unity2019按上面步驟處理完,so 16KB對齊了,useLegacyPackaging=true,但在Android模擬器16KB鏡像上,還是會崩潰,這是為什么?

A:模擬器應該是x86_64的,我是在Pixel9真機上跑的。

互動提問:按照方法處理后,AS分析APK后,lib中的.so庫是正確了。但是AS依舊提示不支持16KB,這是為什么?

A: 上面補充了一點信息,你的情況應該是上面的新模式了,這個還有個隱性要求:so在APK中的偏移也要是16K對齊,可以開啟useLegacyPackaging試試。

感謝題主littlesome@UWA問答社區提供了回答,有經驗的朋友歡迎轉至社區交流:

https://answer.uwa4d.com/question/68d4e378244ce21ce9ec0920

封面圖來源于網絡

今天的分享就到這里。生有涯而知無涯,在漫漫的開發周期中,我們遇到的問題只是冰山一角,UWA社區愿伴你同行,一起探索分享。歡迎更多的開發者加入UWA社區。

UWA官網:www.uwa4d.com

UWA社區:community.uwa4d.com

UWA學堂:edu.uwa4d.com

點擊下方名片關注我們,將我設為星標,及時接收小編每日推送哦,性能優化不迷路~

近期精彩回顧

【萬象更新】

【充電一刻】

【充電一刻】

【萬象更新】

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
退伍10年我去應聘保安,女總裁看簡歷3分鐘突然淚流滿面:隊長

退伍10年我去應聘保安,女總裁看簡歷3分鐘突然淚流滿面:隊長

白淺娛樂聊
2026-04-30 15:04:24
馬鞍山市人民代表大會常務委員會公告

馬鞍山市人民代表大會常務委員會公告

中安在線
2026-04-30 09:08:04
吳宣儀解約被樂華鎖死,母親登門理論鬧僵,內娛最慘頂流實錘!

吳宣儀解約被樂華鎖死,母親登門理論鬧僵,內娛最慘頂流實錘!

一盅情懷
2026-04-30 16:25:34
千年難遇的美人,太漂亮了,沒有一點毛病,太完美了

千年難遇的美人,太漂亮了,沒有一點毛病,太完美了

情感大頭說說
2026-04-24 12:46:24
伊朗戰爭,全世界才知道我國掌握三個殺手锏,早就是世界第一了

伊朗戰爭,全世界才知道我國掌握三個殺手锏,早就是世界第一了

揭秘歷史的真相
2026-04-29 21:32:06
湖南中醫附一再爆大瓜!這次牽扯的是院長兒子,還是葉新萍的科室

湖南中醫附一再爆大瓜!這次牽扯的是院長兒子,還是葉新萍的科室

小鋭有話說
2026-04-30 12:17:58
今晚央視八套雙劇聯播!張藝謀首次監制劇作,鄭曉龍諜戰新劇月底上映

今晚央視八套雙劇聯播!張藝謀首次監制劇作,鄭曉龍諜戰新劇月底上映

匹夫來搞笑
2026-04-30 12:28:58
18歲森碟成都逛街,穿露肩上衣背著香奈兒包,身高比同伴高出半頭

18歲森碟成都逛街,穿露肩上衣背著香奈兒包,身高比同伴高出半頭

阿廢冷眼觀察所
2026-04-30 14:00:36
屢教不改!跳水世界杯將開賽,陳芋汐迎壞消息,全紅嬋事件再上演

屢教不改!跳水世界杯將開賽,陳芋汐迎壞消息,全紅嬋事件再上演

以茶帶書
2026-04-29 17:03:50
景區內游客爆發肢體爭執,沖突中多人墜落,現場實景被拍下

景區內游客爆發肢體爭執,沖突中多人墜落,現場實景被拍下

星娛叨叨社
2026-04-30 14:32:32
廣東德比G2賽前:杜鋒立下軍令狀,龍獅官宣好消息,球迷感慨真強

廣東德比G2賽前:杜鋒立下軍令狀,龍獅官宣好消息,球迷感慨真強

宏遠小師哥
2026-04-30 08:40:20
振奮人心!穆杰塔巴真的沒吹牛,為了向中國供油,伊朗打算拼一把

振奮人心!穆杰塔巴真的沒吹牛,為了向中國供油,伊朗打算拼一把

古史青云啊
2026-04-30 14:28:05
揮淚斬馬謖!皇馬正式批準出售1.5億“超巨”!2.4億“頂星”來投

揮淚斬馬謖!皇馬正式批準出售1.5億“超巨”!2.4億“頂星”來投

頭狼追球
2026-04-30 08:03:42
米蘭舊將梅利:巴黎5-4拜仁令人作嘔,現在的足球變成了新NBA

米蘭舊將梅利:巴黎5-4拜仁令人作嘔,現在的足球變成了新NBA

懂球帝
2026-04-30 10:44:13
躺平網紅受境外勢力資助?孫玉良:少年強則國強,少年躺平則國亡

躺平網紅受境外勢力資助?孫玉良:少年強則國強,少年躺平則國亡

孫玉良
2026-04-29 10:43:37
兩個“開市客”新進展:開市客北京旗下公眾號已清空、改名!接線人員稱“未來可能會注銷”

兩個“開市客”新進展:開市客北京旗下公眾號已清空、改名!接線人員稱“未來可能會注銷”

紅星資本局
2026-04-30 13:56:06
余承東再次向奇瑞董事長,正式道歉

余承東再次向奇瑞董事長,正式道歉

小李車評李建紅
2026-04-29 08:00:03
青樓出身,無法生育被休,改嫁上將連生11子,人人敬重的廣東之母

青樓出身,無法生育被休,改嫁上將連生11子,人人敬重的廣東之母

浩渺青史
2026-04-28 15:40:40
96年女生在遠洋貨輪當大副月入6.8萬元:最長出海18個月,即便生理期也要做好自己的工作,需要面對生理和心理的雙重挑戰

96年女生在遠洋貨輪當大副月入6.8萬元:最長出海18個月,即便生理期也要做好自己的工作,需要面對生理和心理的雙重挑戰

大風新聞
2026-04-30 09:40:04
不再沉默!樊振東徹底攤牌,深夜長文炸穿全網,棄賽留洋真相大白

不再沉默!樊振東徹底攤牌,深夜長文炸穿全網,棄賽留洋真相大白

林子說事
2026-04-30 12:40:21
2026-04-30 18:51:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戲/VR性能優化平臺
1571文章數 987關注度
往期回顧 全部

科技要聞

9000億美元估值,Anthropic即將反超OpenAI

頭條要聞

伊朗最高領袖"最詳細傷情":面部燒傷嚴重 可能要整形

頭條要聞

伊朗最高領袖"最詳細傷情":面部燒傷嚴重 可能要整形

體育要聞

季后賽場均5.4分,他憑啥在騎士打首發?

娛樂要聞

孫楊博士學歷有問題?官方含糊其辭

財經要聞

易會滿被“雙開”!

汽車要聞

專訪捷途汪如生:捷途雙線作戰 全球化全面落地

態度原創

時尚
教育
游戲
旅游
軍事航空

她,在水里把剪紙燒了?

教育要聞

在你們明天來之前,我又來了

坤哥突發神秘XGP圖片!暗示全新低價檔位即將公開?

旅游要聞

明仕新章·壯美起航

軍事要聞

意大利議會批準:捐贈航母給印度尼西亞

無障礙瀏覽 進入關懷版