美文网首页
iOS 内存、CPU占用情况探究 - Unity

iOS 内存、CPU占用情况探究 - Unity

作者: JamieChen | 来源:发表于2021-04-22 23:38 被阅读0次

探究目的:

Unity作为3D图像引擎植入iOS端中,其内存及CPU占用情况贯穿整个App开发是一个相对较大的问题,为了更快的加载速度和更及时的交互相应,进行了此次探究。

用到的工具 Instruments Leaks 在使用过程中遇到问题可参照 iOS用Instruments Leaks调试出现问题解决方案 进行解决


进行测试

测试环境

设备:iPhone 11
iOS:14.4.2
Unity:
Xcode:Version 12.4 (12D4e)
iOS Unity混合模式
测试时长:
首先来看看未加载Unity时App 的初始状态


image.png

加载Unity并作展示后的状态


image.png Unity CPU使用情况

测试步骤

  1. 进入Unity页面
  2. 退出Unity页面
  3. 反复进入Unity 页面
  4. 切换Tab后前往其他Unity页面并在Unity页面进行点击、打开窗口、执行动作等操作
  5. 退出并返回首页Tab进入Unity页面,之后退出Unity页面

现象分析:

  1. 因Unity在App初始时执行加载所以在App打开时内存已经提升至320左右,在打开Unity页面时会有小幅升高,但退出时内存便得以释放。
  2. 在Unity在加载后CPU占用是中保持在45%以上,在Unity场景中执行动作时CPU的使用率会有明显升高的情况,在App不展示Unity页面时,CPU使用率也没有出现下降的迹象。

优化方案

资料分享:https://mp.weixin.qq.com/s/GB7TJtfhTkmcP8so0IlOlQ
讨论:https://www.zhihu.com/question/26779558

  1. 控制Unity视图不展示时的CPU占用;
    未完待续

名词解释:

All Heap & Anonymous VM
Heap 堆内存
Anonymous VM 虚拟内存

All Heap Allocations:进程运行过程中堆上分配的内存,简单理解就是实际分配的内存,包括所有的类实例,比如UIViewController、UIView、Foundation数据结构等。比如:
Malloc 512.00KiB: 分配的512k堆内存,类似还有 Malloc 80.00KiB等
CTRun: Core Text对象内存
All Anonymous:主要包含一些系统模块的内存占用以 VM: 开头

VM: IOSSurface:用于存储FBO、RBO等渲染数据的底层数据结构,是跨进程的,通常在CoreGraphics、OpenGLES、Metal之间传递纹理数据
VM: Stack: 栈内存(比如每个线程都会需要500KB)
VM: IOAccelerator:图片的CVPixelBuffer


相关文章

  • iOS 内存、CPU占用情况探究 - Unity

    探究目的: Unity作为3D图像引擎植入iOS端中,其内存及CPU占用情况贯穿整个App开发是一个相对较大的问题...

  • Linux面试常考命令总结

    1. linux查看内存,cpu占用命令? 使用top,查看cpu占用情况: 使用free,查看内存占用情况: 使...

  • go tool 分析内存信息

    可以使用go tool分析CPU、内存占用情况时,pprof进行分析相关的cpu占用情况和内存占用情况:可以使用 ...

  • iOS 内存占用情况探究 - Flutter

    探究目的: Flutter Module 与iOS混合开发目前最棘手的问题就是Flutter占用内存过高的情况,在...

  • 常用Linux命令

    看CPU和内存占用top查看某一个进程所有线程的CPU和内存占用top -Hp {PID}查看内存使用情况free...

  • 系统性能测试与监测工具汇总

    计算 查看当前CPU负载(uptime) 内存 查看当前内存使用的情况的状态(free) 进程对内存的占用情况(p...

  • iOS 如何得到应用所占的内存

    Unity 那边天天帮他们找坑,如何拿到 Unity 所占用的内存,反正 iOS 是没有拿到正确过,一般偏小很多,...

  • iOS获取App占用内存,占用CPU

    首先导入 以上是实现方式,和调用。想看原理:https://www.jianshu.com/p/95df83780...

  • linux

    查看cpu 内存 占用 cat /prov/cpuinfo cat /proc/meminfo 查看硬盘使用情况...

  • Android之adb常用命令2

    查看应用的cpu和内存占用情况 查看cpu 方法1: 低版本Android(Android N及之前):adb s...

网友评论

      本文标题:iOS 内存、CPU占用情况探究 - Unity

      本文链接:https://www.haomeiwen.com/subject/pgttrltx.html