博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unity 内存优化MemoryProfiler
阅读量:5913 次
发布时间:2019-06-19

本文共 837 字,大约阅读时间需要 2 分钟。

hot3.png

Unity5 开源了一个新工具可以用于内存分析。

Unity游戏中内存占用的大头一般是 纹理内存, 使用自带的Profiler 工具可以 查看内存使用情况。

游戏的内存使用情况,需要在真机上进行profiler测试,编辑器中,图片的格式和真机上图片格式可能不同。

资源加载方式可能不同,AB和Resources目录。

profiler 内存分析分为两种, Simple和detailed;

simple 可以看到实时统计数据:

纹理数量,mesh数量,材质,音乐等。

在detail界面:

Assets下可看到ab中的资源,SceneMemory可以看到场景实例的对象。

1:ios 纹理格式尽量设置为 pvrrtc ,但是非pot 图片无法支持,则使用RGBA16bit 格式

2: sprite packer打包的时候,会因为图片有无透明通道,而制造多个atlas, 可以修改policy 代码,使其不要根据是否有alpha分组,尽量使图在一个atlas

3:背景音乐太长,也会占用大量内存,可以使用 load type , compressed in memory 在内存中压缩音乐格式, 用cpu换内存。

4:防止图片在ab中冗余,需要将sprite或者texture2d的资源明确的打入一个ab中,这样使用这些sprite的ui才能够复用 spriteatlas, 防止同一个图片在内存中有多份。

这样优化之后,降低了50%的纹理内存占用,降低了80%声音内存消耗

对于非POT的纹理,unity可以将其转化为POT大小,这样就可以使用压缩格式了。

Sprite类型不支持

Unity的图像资源分为Sprite类型和texture类型, 如果使用RawImage等应用sprite中的图像,会导致图像以Texture2D形式被AB使用,因此最好复制一份资源,供其使用。

转载于:https://my.oschina.net/u/186074/blog/757883

你可能感兴趣的文章
[高并发Java 二] 多线程基础
查看>>
PHP源码目录结构
查看>>
Linux桌面虚拟化技术KVM介绍及其安装
查看>>
硬盘主引导记录详解
查看>>
2017-12-19 Linux学习笔记
查看>>
用户与用户组管理
查看>>
CentOS 6.8 手工安装 Firefox
查看>>
【栈】POJ 1028 Web Navigation
查看>>
[文摘]JDK里的设计模式
查看>>
初学大数据需要了解哪些方面的知识?
查看>>
能量山水画家武湲承:搬运时空能量,聚藏山水画中
查看>>
谈一次异步上传到又拍云的案例教程
查看>>
【Ubuntu】IBM资料学习笔记
查看>>
C#接收命令行参数的代码
查看>>
xcode svn的操作(1)
查看>>
判断ip的有效性---boost
查看>>
android activity之间传递对象
查看>>
最全Handler源码解剖
查看>>
史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
查看>>
大流量、高负载场景 Nginx+Linux 性能调优
查看>>