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


Mono

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

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

该回答由UWA提供


Build

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

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的,大家遇到过类似的问题吗?

A:采样的帧率是不是小了。默认是不会在两帧之间进行插值的,所以当帧率小了,速度慢了看上去就是一卡一卡的。

感谢jim@UWA问答社区提供了回答


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

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

如何查看子线程中的GC Alloc的更多相关文章

  1. 在子线程中使用runloop,正确操作NSTimer计时的注意点 三种可选方法

    一直想写一篇关于runloop学习有所得的文章,总是没有很好的例子.游戏中有一个计时功能在主线程中调用: 1 + (NSTimer *)scheduledTimerWithTimeInterval:( ...

  2. 让NSURLConnection在子线程中运行

    可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行. 前面提到可以将NSTimer手动加 ...

  3. iOS多线程的初步研究(五)-- 如何让NSURLConnection在子线程中运行

    可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行. 前面提到可以将NSTimer手动加 ...

  4. android 不能在子线程中更新ui的讨论和分析

    问题描写叙述 做过android开发基本都遇见过 ViewRootImpl$CalledFromWrongThreadException,上网一查,得到结果基本都是仅仅能在主线程中更改 ui.子线程要 ...

  5. EXC_BAD_ACCESS(code=2,address=0xcc 异常解决 及 建议不要在子线程中刷新界面

    iOS 上不建议在非主线程进行UI操作,在非主线程进行UI操作有很大几率会导致程序崩溃,或者出现预期之外的效果. 我开始不知道这一点,在子线程中进行了弹窗操作,结果程序就出问题了! 报的错误是(EXC ...

  6. 如何让NSURLConnection在子线程中运行

    可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行. 前面提到可以将NSTimer手动加 ...

  7. 【转载】Delphi7从子线程中发送消息到主线程触发事件执行

    在对数据库的操作时,有时要用一个子线程来进行后台的数据操作.比如说数据备份,转档什么的.在主窗口还能同是进行其它操作.而有时后台每处理一个数据文件,要向主窗口发送消息,让主窗口实时显示处理进度在窗口上 ...

  8. 在子线程中new Handler报错--Can't create handler inside thread that has not called Looper.prepare()

    在子线程中new一个Handler为什么会报以下错误? java.lang.RuntimeException:  Can't create handler inside thread that has ...

  9. 如何在子线程中使用Toast和更新UI

    因为没一个Looper处理消息循环,所以子线程中无法使用Toast 方法: Looper.prepare(); Toast.makeText(getActivity(),"刷到底啦" ...

随机推荐

  1. CF-1110C-Meaningless Operations

    题意: 输入q,然后输入q个a,对于每个a,找到一个b,使gcd(a ^ b, a & b)最大,输出这个最大的gcd: 思路: 用k表示a二进制最高位的二进制编号,1,2,4,8对应1,2, ...

  2. jenkins配置搭建环境

    1.安装及运行 (1)下载 http://updates.jenkins-ci.org/latest/jenkins.war (2)运行 两种运行方式:一种是基于tomcat.Jdk启动,一种是基于D ...

  3. 吴裕雄--天生自然python学习笔记:Python3 输入和输出

    输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果你希望输出的 ...

  4. Python Web 基础向(四) 浅谈数据层

    数据层一般会给人带来一些困扰,在于其定位不准确.聚合Model的工作也可以放在逻辑层做,但会导致逻辑层变重,经常出现大段晦涩代码.因此我的建议是保留Model聚合层,尽管会导致工作量的略微增加,但却可 ...

  5. fastDFS 一二事 - 简易服务器搭建之--阿里云

    第一步:安装fastDFS依赖libevent工具包 yum -y install libevent 第二步:解压libfastcommon-1.0.7.tar.gz文件 tar -zvxf libf ...

  6. mysql启动报错ERROR! The server quit without updating PID file处理

    从其它服务器拷贝编译安装后的MySQL5.7目录后启动时报错如下: ERROR! The server quit without updating PID file(/path/to/XXX.pid) ...

  7. CSS 双飞翼布局

    10 Jul 2016 » CSS 双飞翼布局:总共分三栏,左侧栏Left,中间主栏Main,右侧栏Right 第一步,建立三个div,不过注意,中间Main需要加一个wrap div. 整个结构看起 ...

  8. Angular总结

    angular关键核心点进行总结 1 2 angular中有很多知识点需要学习,学习成本是很大的,我通过平常开发中把一些 很重要知识点总结下来,不管是以后拿来用,或者跳槽面试需要,我都感觉是很有帮助的 ...

  9. c++中的 const 关键字

    知识回顾:C语言中 const const 修饰的变量是 只读的,本质上还是变量:(只读变量:可以通过指针修改只读变量中的值) const 修饰的局部变量在栈上分配空间: const 修饰的全局变量在 ...

  10. VirtualBox Ubuntu设置静态ip亲测可行

    virtualbox重启后ip会自动分配,不固定.项目中需要配置ip地址,因此每次ip换了,需要重新配置和编译. 网上搜罗好几种方法进行配置,尝试下面这种简单并且可行: 步骤一:查看虚拟机网卡 ifc ...