如何查看子线程中的GC Alloc

1)如何查看子线程中的GC Alloc
2)Build时,提示安卓NDK异常
3)如何得到ParticleSystem产生的三角形数量
4)关于图片通道的问题
5)GPUSkinning致使模型动画不平滑html


Mono

Q:我把一些大计算量的东西放到了子线程中,如今想看下有没有GC Alloc,可是没找到像Profiler.BeginSample/Profiler.EndSample这样的方法,看不到子线程中的GC Alloc,只能看到时间开销。请问要怎么才能看到子线程中的GC Alloc呢? android

A:直接经过UWA线上深度测评服务中的Mono详细堆内存分析便可查看子线程中的堆内存分配状况。 《UWA 新功能 | 多线程模式下也能定位堆内存问题了!》

该回答由UWA提供git


Build

Q:使用Unity 2019.3版本Build时,提示安卓NDK异常,报错以下,你们有遇到过吗?该如何解决呢? github

A:这是Unity 2019.3的一个 bugIssue Tracker
Mac版已修复,可是Windows版本2019.3.1f1未修复,致使Android打包失败,而且Google官网上的NDK版本也不匹配,如今有一个曲线救国的办法:

咱们将C:\Program Files\Unity\Hub\Editor\2019.3.0f6\Editor\Data\PlaybackEngines\AndroidPlayer\NDK\android-ndk-r19(Unity安装目录下的NDK目录)下的内容拷贝到上级“NDK”文件夹下,再将勾选选中,此警告就会消失。
感谢郑骁@UWA问答社区提供了回答多线程


ParticleSystem

Q:但愿得到项目中每个特效在发射时产生的三角形数量。使用编辑器Stats窗口人工操做不只耗时,并且峰值也难以捕捉,基本不考虑。编辑器

有没有代码或者其它能够自动化的方法,得到一个ParticleSystem当前所有粒子的三角形数量,或者得到一个摄像机内的三角形数量?动画

A:粒子系统有个属性ParticleCount,经过它能获取到当前粒子数量N,而后再获取每一个粒子的三角形数M,经过ParticleSystemRenderer.renderMode这个属性,若是是Mesh,那么获得这个Mesh的三角形数,若是是Billboard能够简单地认为三角形数为2;经过粒子数量乘以三角形数(N*M)应该能够获得总的三角形数。楼主能够试验一下是否有用。
感谢李星@UWA问答社区提供了回答

Texture

Q:为何png格式的图片在PS里面没有Alpha通道,但图片导入Unity后显示都有Alpha通道?网站

A:png没有Alpha,只有transparency。Unity把图片的transparency读出来显示为Alpha。
感谢fubbi1000@UWA问答社区提供了回答

Animation

Q:GPUSkinning致使模型动画不平滑,我参照
https://github.com/chengkehan/GPUSkinning实现的GPUSkinning,发现模型动画不是很平滑,特别是当动画播放速度调慢后很明显一卡一卡的,正常 1.0 的速度看不出太大的问题。骨骼烘焙贴图格式为ARGBHalf的,你们遇到过相似的问题吗?ui

A:采样的帧率是否是小了。默认是不会在两帧之间进行插值的,因此当帧率小了,速度慢了看上去就是一卡一卡的。
感谢jim@UWA问答社区提供了回答

今天的分享就到这里。固然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,咱们早已在UWA问答网站上准备了更多的技术话题等你一块儿来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。spa

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com 官方技术QQ群:793972859(原群已满员)

相关文章
相关标签/搜索