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. 反编译.net下的exe程序

    1. 什么叫.net平台 .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境..NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的 ...

  2. JS数组与字符串相互转化

    <script type="text/javascript"> var obj="new1abcdefg".replace(/(.)(?=[^$]) ...

  3. [USACO5.1] Musical Themes

    后缀数组求最长重复且不重叠子串. poj 1743 传送门 洛谷 P2743 传送门 1.子串可以“变调”(即1 3 6和3 5 8视作相同).解决办法:求字符串相邻元素的差形成新串.用新字符串求解最 ...

  4. Leetcode刷题记录 旋转矩阵

    https://leetcode-cn.com/problems/spiral-matrix/submissions/ class Solution(object): def spiralOrder( ...

  5. 微软Project Oxford帮助开发人员创建更智能的应用

    Oxford帮助开发人员创建更智能的应用" title="微软Project Oxford帮助开发人员创建更智能的应用"> 假设你是一名对关于健身的应用充满奇思妙想 ...

  6. jquery.qrcode笔记

    由于一个坑爹的项目需要生成二维码扫描,后台由于数据库比较麻烦,就只能前端做了,于是乎找到Js生成qrcode的一个库:https://github.com/jeromeetienne/jquery-q ...

  7. WordPress 安装主题、插件时问题解决办法

    --当能够在外网访问到自己的博客时,很多人都会很兴奋吧!如果环境是自己配置的,而不是用的集成环境肯定也会有点小小的成就感. --但是在我兴奋的时候遇到了个小麻烦,下载插件提示我输入FTP信任凭据,输了 ...

  8. 远程终端协议 TELNET

    远程终端协议 TELNET 1.1.概述 TELNET 是一个简单的远程终端协议,也是因特网的正式标准. 用户用 TELNET 就可在其所在地通过 TCP 连接的23端口,使用主机名或 IP 地址登录 ...

  9. Ubuntu 16.04 apt 国内源

    一.推荐几个 Ubuntu 16.04 国内的 apt 源 1. 阿里源 # deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (2 ...

  10. sql--测试商品的重要度,是否需要及时补货

    表1:商品表 表2:商品售卖表 需求:算出商品的平均点击率.平均销售.商品受欢迎度 1.使用inner join查出每件商品的点击率和销售额度 ) as selas from test a left ...