当前位置:网站首页>Performance Optimization - Resource Optimization Notes
Performance Optimization - Resource Optimization Notes
2022-08-01 14:02:00 【Chang'an flowers bloom*】
Optimization of mesh resources: https://blog.uwa4d.com/archives/LoadingPerformance_Mesh.html
1. The higher the number of mesh faces, the larger the memory footprint, the larger the AB package, the slower the loading
2. The same patch, the more vertex attributes the more loaded.
Note: When batching, do not merge meshes with different attributes together. One hundred meshes are merged. If 99 have two verticesAttributes, but the 100th has 5 vertex attributes, the engine will complete the first 99 vertex attributes and then batch them together when merging, which will increase memory usage and cause waste
3. The mesh closes Read/Write, which will reduceThe physical size of the AB package is related to the data of the resource itself, which will reduce the memory usage of the mesh resource and improve the loading efficiency
4. Turn off useless attribute import
5.MeshCompression mesh attribute compression
6.IndexFormat: The format of the grid indexing buffer data is 16 bits. This format occupies less memory and bandwidth.
The shader itself does not have much memory, so the loading efficiency bottleneck is not in memory but in content parsing
Reason for time-consuming parsing: The CPU time of shader loading is related to the number of keyworlds, and the more keyworlds, the greater the loading overhead
1. Avoid loading and parsing shaders in non-switching scenes
2. Collect variants in use, reduce the number of ShaderKeyWorlds to improve loading efficiency
3. Directly remove the Fallback option in shaders
4. Optimize the loading method, to avoid repeated analysis caused by repeated addition and uninstallation, and extract the shader file in the project into an independent AB file
Texture resource optimization: https://blog.uwa4d.com/archives/LoadingPerformance_Texture.html
Factors that determine texture size: resolution, format, whether Mipmap is turned on
1. The higher the resolution, the slower the loading
2. The higher the format data precision, the slower the loading
3. Turn on the MipmapWill increase the memory size by 1.33 times, strictly check whether the UI resources are closed Mipmap
Animation resource optimization: https://blog.uwa4d.com/archives/Loading_AnimationClip.html
1. Optimize animation accuracy
2. Choose animation compression settings reasonably
边栏推荐
猜你喜欢
Multi-threaded cases - blocking queue
PyTorch 进阶之路:在 GPU 上训练深度神经网络
多线程案例——阻塞式队列
使用open3d可视化3d人脸
十九届浙大城院程序设计竞赛 F.Sum of Numerators(数学/找规律)
Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹
leetcode: 1201. Ugly Number III [Dichotomy + Mathematics + Inclusion and Exclusion Principle]
Programmer's Romantic Tanabata
What is consistent hashing?In what scenarios can it be applied?
HTB-Shocker
随机推荐
MCU开发是什么?国内MCU产业现状如何
kubernetes之DaemonSet以及滚动更新
PAT 1162 Postfix Expression(25)
Gradle series - Gradle tests, Gradle life cycle, settings.gradle description, Gradle tasks (based on Groovy documentation 4.0.4) day2-3
PIR人体感应AC系列感应器投光灯人体感应开关等应用定制方案
iframe标签属性说明 详解[通俗易懂]
软件测试之发现和解决bug
观察者模式
Pytorch —— 分布式模型训练
PAT1166 Summit(25)
D - I Hate Non-integer Number(背包dp)
NFV迈向云原生时代:Network Service Mesh项目介绍
PanGu-Coder:函数级的代码生成模型
[深入研究4G/5G/6G专题-47]: 5G Link Adaption链路自适应-3-下行链路自适应DLLA-PDSCH信道
10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
性能优化——资源优化笔记
pd groupby后列变索引以及聚合列无列名的问题
50W+小程序开发者背后的数据库降本增效实践
Qt实战案例(56)——利用QProcess实现应用程序重启功能
datetime64[ns]转化为datetime