GPU Skinning不生效问题

1)GPU Skinning不生效问题
2)勾选凸包报的警告问题
3)Unity 2019 图片压缩格式选择
4)Android Export打包对压缩的影响
5)Android内存中的Unknown部分泄漏html


Rendering

Q:Unity版本:2019.3.0f6
Shader:GPUSkinningUnlitSkin2
测试Scene :Adam_Player_Crowd
测试手机 :Samsung S5ide

请问我使用Git上的GPU Skinning在PC上测试DrawCall数是有下降的,同时没有Animator.update的消耗,并且有Instancing,但build到Samaung S5上用Unity Profiler监看没有Animator.update的开销,但DrawCall没有下降,也没有Instancing,请问是有什么部分没有设定好吗?性能

另外GPU Skinning若要使用Instancing仅限于OpenGL ES 3.0吗? 仍是OpenGL ES 2.0也能使用?测试

PC
gradle

Samsung S5
网站

A:参考 官网文档,以下描述,并不支持OpenGL ES 2.0。

感谢郑骁@UWA问答社区提供了回答ui


Mesh

Q:有个复杂模型报警告:
Couldn’t create a Convex Mesh from source mesh “**” within the maximum polygons limit (256). The partial hull will be used. Consider simplifying your mesh.
我用SimpleLod减面以后也没有减到256个面,可是不报这个警告了,这个警告究竟是怎么回事?建模时候应该如何避免?spa

A:生成的Convex Mesh最多只能有255个三角形。你原来的模型太复杂,255个三角形不够用,不足以表示轮廓。

感谢fubbi1000@UWA问答社区提供了回答3d


Texture

Q:关于图片压缩格式选择的问题,看了以前的博客,安卓选择ETC2,苹果选择 PVRTC。如今项目升级到了Unity 2019.2.21f1,多了不少格式,想请教一下,下面几个问题:(Unity版本:2019.2.21f1)
1. 新版本Unity 2019,Format中安卓和苹果格式该如何选择?
2. 安卓如今可使用ASTC格式了吗,市场份额是多少?
3. Resize Algorithm,Override ETC2 fallback,分别表明意思以及如何选择?
4. HDR ,6X6,10X10,如何选择好?code

麻烦科普下,不胜感激,谢谢!

A1:我的以为:
问题1,iOS选ASTC,Android选ETC2比较好;
问题3&4,能够看看Texture的 官方文档,看完这个基本上你就可以明白了,而后根据项目需求,相信可以有个较为好的选择。
感谢fubbi1000@UWA问答社区提供了回答

A2:如今tx新上线的项目已经开始普及ASTC的使用了,因此全面选择ASTC,2019能够默认import的时候选择ASTC,尤为是对光照贴图和法线有很好的效果。Unity如今默认是6x6,也能够根据项目选择其它大小。
感谢郑骁@UWA问答社区提供了回答


AssetBundle

Q:在Android Gradle项目中,build.gradle有以下配置:

aaptOptions
{
noCompress ‘.unity3d’, ‘.ress’, ‘.resource’, ‘.obb’
}

现测试若是不将AssetBundle配置到非压缩的状况下,包体会缩减一些,大概和对AssetBundle进行LZMA压缩的效果差很少。若是是用这种方式对压缩包进行二次压缩,解压流程是怎么样的?对运行时性能有什么影响吗?

如今根据我我的的经验猜想,Android APK包是安装时解压。也就是说,安装完成后,不管是否二次压缩,在硬盘里面都是一个样子。还望有相关经验的朋友讲解一下。

A:Android的APK包再安装后是不解压的,因此理论上运行时获取里面“二次压缩”的Bundle还须要一个解压步骤。也确实有开发者反馈过,若是改为了“二次压缩”,AssetBundle的加载以及从AssetBundle中加载资源的耗时都会明显变大。

因此,修改前建议用自身项目的AssetBundle资源作一下测试,看这两部分的耗时差别是否明显。
该回答由UWA提供


Memory

Q:请教一下,Android内存中Unknown这部分通常都是什么?反复进出一个场景,Unity的资源正常释放,没有泄漏,可是这个Unknown一直在增加。

A:这块是经过mmap分配的匿名内存,用了LuaJIT,Lua内存是在这里的;常规Lua的内存是经过malloc分配的,会出如今Native Heap;另一个大头就是Mono内存了,Boehm GC在安卓上也是经过mmap分配的;再就是第三方so库的内存分配。
感谢littlesome@UWA问答社区提供了回答

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

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

相关文章
相关标签/搜索