网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】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.

相关推荐
热点推荐
震惊!曾是世界第一的行业,如今沦为废墟,18家国企惨遭淘汰!

震惊!曾是世界第一的行业,如今沦为废墟,18家国企惨遭淘汰!

特约前排观众
2026-01-15 00:05:11
AB求助黄晓明进行紧急公关!

AB求助黄晓明进行紧急公关!

八卦疯叔
2026-01-27 10:34:46
“垃圾不够烧了”,中国垃圾焚烧发电技术全球领跑

“垃圾不够烧了”,中国垃圾焚烧发电技术全球领跑

21世纪经济报道
2026-01-26 17:33:07
高市早苗心腹遭围攻!

高市早苗心腹遭围攻!

环球时报国际
2026-01-27 00:23:57
新加坡外长维文公开向中国请求特殊待遇!

新加坡外长维文公开向中国请求特殊待遇!

达文西看世界
2026-01-26 16:47:06
带老婆全裸闹红毯!「肯爷崩溃道歉了」 认脑部严重损伤:不想活下去

带老婆全裸闹红毯!「肯爷崩溃道歉了」 认脑部严重损伤:不想活下去

ETtoday星光云
2026-01-27 10:58:05
32岁未婚独生女重度抑郁了!父母双亡,只留下一套房和160万存款

32岁未婚独生女重度抑郁了!父母双亡,只留下一套房和160万存款

火山詩话
2026-01-05 08:57:12
善恶昭彰10:黑哥逞凶入天籁

善恶昭彰10:黑哥逞凶入天籁

金昔说故事
2026-01-22 14:39:36
2026年退休新规来了!身份证年龄作废,25年铁律曝光,早看少吃亏

2026年退休新规来了!身份证年龄作废,25年铁律曝光,早看少吃亏

复转这些年
2026-01-08 23:43:01
第一批免签去俄罗斯的中产傻眼了

第一批免签去俄罗斯的中产傻眼了

风向观察
2025-12-16 18:26:08
环卫工人的“电子镣铐”:首先他们是人,不是机器!

环卫工人的“电子镣铐”:首先他们是人,不是机器!

迷世书童H9527
2026-01-24 09:13:37
中国又火了!丢失130年领土终于被收复,勘测完发现大量稀有资源

中国又火了!丢失130年领土终于被收复,勘测完发现大量稀有资源

瞳哥视界
2025-12-30 20:17:02
小学生“倒数第一”试卷又火了,老师:这孩子智商太高,我教不了

小学生“倒数第一”试卷又火了,老师:这孩子智商太高,我教不了

浩源的妈妈
2026-01-27 06:29:07
情况有变!日本通过决议,要从中国东面下手,美国一队人马上就到

情况有变!日本通过决议,要从中国东面下手,美国一队人马上就到

南宗历史
2026-01-27 10:40:01
统一号角已经吹响!民进党对大陆称呼突然改口,释放的信号不简单

统一号角已经吹响!民进党对大陆称呼突然改口,释放的信号不简单

标体
2026-01-26 13:32:35
亚足联年度最佳阵出炉!日本独占5席,韩国3人上榜,中国无人入选

亚足联年度最佳阵出炉!日本独占5席,韩国3人上榜,中国无人入选

绿茵舞着
2026-01-27 22:20:13
老干部和女幼师的聊天记录,竟然让网友看得停不下来!

老干部和女幼师的聊天记录,竟然让网友看得停不下来!

特约前排观众
2026-01-27 00:20:03
“胃部有癌,嘴巴先知”!嘴上出现这4种异常,千万不要掉以轻心

“胃部有癌,嘴巴先知”!嘴上出现这4种异常,千万不要掉以轻心

熊猫医学社
2026-01-21 11:30:03
美国不许加拿大和中国达成贸易协议,美财长:中国或面临额外惩罚

美国不许加拿大和中国达成贸易协议,美财长:中国或面临额外惩罚

说故事的阿袭
2026-01-28 01:14:50
德国大师赛战报!赵心童制造惨案,中国8人晋级,16强对阵出炉

德国大师赛战报!赵心童制造惨案,中国8人晋级,16强对阵出炉

郝小小看体育
2026-01-28 00:14:23
2026-01-28 03:59:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1543文章数 986关注度
往期回顾 全部

科技要闻

马化腾3年年会讲话透露了哪些关键信息

头条要闻

美报告称中国是其19世纪以来面对过的最强大国家

头条要闻

美报告称中国是其19世纪以来面对过的最强大国家

体育要闻

冒充职业球员,比赛规则还和对手现学?

娱乐要闻

张雨绮风波持续发酵,曝多个商务被取消

财经要闻

多地对垄断行业"近亲繁殖"出手了

汽车要闻

标配华为乾崑ADS 4/鸿蒙座舱5 华境S体验车下线

态度原创

房产
旅游
教育
家居
游戏

房产要闻

实景兑现在即!绿城,在海棠湾重新定义终极旅居想象!

旅游要闻

红灯笼映北海:皇家园林里的年味,藏着中国人的精神原乡!

教育要闻

对话陈妤颉:闪闪发光的赛道,追逐梦想

家居要闻

现代古典 中性又显韵味

LPL春季赛:决绝让一追二,AL三局击溃IG,大家的排名都不变

无障碍浏览 进入关怀版