技术分享连载(一)

简介:


Q1:Texture占用内存总是双倍,这个是我们自己的问题,还是Unity引擎的机制?

出现这种情况的原因有两种:一种是你在真机运行时开启了Read&Write。另一种可能是Unity的Bug,目前的Unity 5.2.3 release note如下 :
(735644) - OpenGL: Fixed texture memory usage reporting in profiler, was twice the actual size for most textures.
开发者需要关注下自己的开发版本,5.2.3以前类似情况的项目可以参考一下。


Q2:我现在发现两个因素直接影响Overhead,一个是Shader的复杂度,一个是空Update方法及其同类空方法,不知道是否还有其他因素?

Overhead的计算方法是:Profiler当前帧统计的总耗时时间减去所有已知选项的累加时间,即引擎当前还无法识别模块的耗时时间。Overhead数值理论上是趋向于0的,但是由于目前市面上的硬件设备、系统框架过于丰富,所以引擎可能无法识别所有模块的CPU开销。
就我们目前遇到的大部分案例而言,Overhead数值较高一般是由硬件设备的垂直同步算法无法识别而引起的。所以,一般情况下,Overhead的数值其实并不需要开发者特别关注。
在UWA的性能分析中,我们并没有将Overhead计算在内,一方面是其本身数据的统计意义对目前大多数项目的性能优化帮助不大,另一方面是即便知道了它的CPU数值,也无法知道到底是哪些地方引起的,上层很难有针对性地进行优化。
当然,我们会持续对Overhead进行实验和研究,分析其CPU耗时规律、与已知选项的关联性等。后续有任何相关发现,我们都会总结成文,及时分享给大家。


Q3:在Unity的内存管理机制中, Reserved Total 和 Used Total之间的关系是怎样的?

Reserved Total 和 Used Total为Unity引擎在内存方面的总体分配量和总体使用量。 一般来说,引擎在分配内存时并不是向操作系统 “即拿即用”,而是首先获取一定量的连续内存,然后供自己内部使用,待空余内存不够时,引擎才会向系统再次申请一定量的连续内存进行使用。所以,从图表中可以看到,Reserved Total 的内存占用量略大于 Used Total, 且两者走势基本一致。

UWA Tech Doc

注意:对于绝大多数平台而言,Reseved Total内存 = Reserved Unity内存 + GFX内存 + FMOD内存 + Mono内存。(关于Unity的内存管理机制,请“阅读原文”跳转至“UWA文档”了解更多。同时,我们也会在以后的推送中开设内存专题,欢迎关注!)


Q4:纹理Atlas是建议合成一张2048(尺寸)的纹理还是四张1024的纹理?

在其他设置一致的情况下,这两种方式无论在加载还是渲染方面其实并没有实质上的差别。在我们接触到的大多数案例中,纹理资源方面的问题除了尺寸外,纹理格式、Mipmap设置和Read&Write功能同样是需要研发团队时刻关注的。


Q5:在把Unity升级到5.3之后,项目中缓存的粒子特效无法正常播放了(只能播放一次),是否还需要修改粒子的设置呢?

这个问题是Unity的Bug,5.4.0B3 release note 为:

Particles: Fixed particle system only playing once.(会在新版本5.4修复)

目前我们推荐通过另一种方法可以暂时绕过该 Bug:

particleSystem.Stop(); 
particleSystem.Clear(); 
particleSystem.Simulate(0.02f); 
particleSystem.Play();




原文出处:侑虎科技
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

目录
相关文章
|
监控 前端开发 架构师
文初技术分享【转】
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。
447 1
|
机器学习/深度学习 人工智能 架构师
开发者社区精选直播合集(十)| 架构师成长之路
“我怎么知道自己适不适合做架构师”,“做架构师有什么潜在的坑”,“如何成为一个优秀的架构师”,如果你也存在类似的这些问题,就快来看大咖架构师们都是怎么成长起来的吧
开发者社区精选直播合集(十)| 架构师成长之路
|
数据可视化 关系型数据库 MySQL
开发者社区感悟
如何使用阿里云
290 0
|
机器学习/深度学习 人工智能 运维
开发者社区精选直播合集 | 架构师成长秘籍
架构师是一个十八般武艺都会的岗位,本专栏我们从思维方式、方法论,实践案例、大咖成长经验等角度整理视频合集,给你带来架构师成长营养餐,为你披荆斩棘、教你如何升级打怪,避开弯路成为一名优秀的架构师,快来看看收藏~
471 0
开发者社区精选直播合集 | 架构师成长秘籍
|
弹性计算 人工智能 运维
开发者社区精选直播合集 | 容器化时代
容器技术(Container),是一项将单个操作系统的资源划分到孤立的组中,以便更好地在孤立的组间平衡有冲突的资源使用需求的技术。该技术受到业内广泛关注,有充分的证据表明,容器技术能够大大提升工作效率。本合集精选容器技术进化历程、应用及及痛点剖析的分享视频,助你玩转容器技术!
731 0
开发者社区精选直播合集 | 容器化时代
|
人工智能 运维 Kubernetes
开发者社区精选直播合集 | K8s从入门到精通
Kubernetes简称K8s, 是一个自动化部署、缩放,以及容器化管理应用程序的开源系统,它正迅速成为云计算中部署和管理软件的新标准,在提供极高价值的同时附带一个陡峭的学习曲线,本合集从K8s学习方法论到K8s的实践经验精选5个视频让你玩转它,速藏!
690 0
开发者社区精选直播合集 | K8s从入门到精通
嘘!阿里技术大牛竟然在看这些书……
也许我们无法走遍地球的每一个角落,却可以用阅读丈量整个世界。停止阅读就等于停止给大脑供给养分。信息爆炸时代,“养分”的质量决定了个人的成长速度。今天,我们“偷出”了贾扬清、吴翰清等大神的私人书单。到底大神们如何跨界学习,将知识收为己用?一起来感受!
3317 0
|
人工智能 双11 UED
【云栖TechDay】音视频技术开发实战专场沙龙,邀您参加
使用起来便捷的音视频技术,在技术开发上却有重重难关?想破解,那就请关注12月20日云栖Techday-音视频技术开发实战专场,围绕双11猫晚2500万高并发直播背后的直播技术、短视频与播放器技术、视频AI,以及在互动直播及教育场景下的WebSocket应用,一体化诠释音视频的各种问题解决与优化方案,让音视频开发的“便捷”真正实现。
2151 0
|
Java 图形学 索引
|
图形学 Android开发 iOS开发
下一篇
无影云桌面