1,GPA连不上手机,是需要root还是其它问题???

问题起源:定位GPU问题时,需要细致到填充率,CPU到GPU的传输带宽问题(纹理带宽,framebuffer带宽问题等)

这里定位是否是纹理带宽问题时就需要在游戏运行时动态更改所有纹理的尺寸,目前似乎只有GPA有这个功能,或者自己写工具去HOOK到gles底层API实现。

经过实验发现:还是root的问题,不root的手机,有些ADB命令执行不了。

试验过程如下:

1,使用oppoR9S,这破手机无法ROOT,就不管ROOT了,操作:打开【开发者选项】和【USB调试】,然后打开使用GPA中的System Analyzer 2019 R3,看到设备号后,点击 connect,提示不是user0,切换后还是这个错误提示,没办法了,换成System Analyzer 2014 R3后,点击connect后,手机上弹出一个相应的System Analyzer安装,确认后安装失败,被OPPOR9S给杀了吧。

2,没办法,换成红米note7,再点击connect后,提示无法执行什么O,没有权限,这个权限是要ROOT才行的。

总之,想要对安卓手机使用GPA,就必须ROOT了

另外,参考链接:对于自家的App只要加一个debuggable=true就行了,对于别人家的……咳咳,我一开始以为用Xposed + enable-debugger Flag可以解决,后来发现ROOT的机子直接就能跑了

2016官方的演讲

2,systrace看不到unity的具体函数调用 ,只能看到UnityMain,原因是什么???如何看到??

这个好像要设置APK为debuggabble=true,但对应到unity是哪个选项?怎么设置?snapdraggon profiler也需要这个来开启类似systrace的trace

TODO:需要熟悉安卓开发,以及UNITY底层是如何与安卓结合的(启动)

一些歪方法:打包APK后,修改其中的debuggable配置项:https://www.jianshu.com/p/e3e6154db43a https://www.jianshu.com/p/e3e6154db43a  https://www.cnblogs.com/qcloud1001/p/6650023.html

1,后来使用snapdragon profiler,发现可以找到并连接上手机,而且其中有各种gl statu override功能,包括了实时的【use small texture]功能,这就完全可以替代GPA了,

并且包含了systrace中的查看unity函数调用栈的功能

2,实验证明:player settings选项中的 script debugging = 脚本中的EditorUserBuildSettings.allowDebugging 等价于 BuildOptions.AllowDebugging 最终都等价于android manifest中的 debuggable。

    [MenuItem("testx/build")]public static void testx(){EditorUserBuildSettings.allowDebugging = true;var bdop = new BuildPlayerOptions();bdop.target = BuildTarget.Android;bdop.locationPathName = "Z:/unity/abcx.apk";bdop.options = BuildOptions.Development | BuildOptions.AllowDebugging;BuildPipeline.BuildPlayer(bdop);}

只有开启了 debuggable,在systrace和snapdragon profiler中才能看到unity的函数调用栈。其中systrace要注意的是:还要同时为enable Application Traces From:选择你要trace的包名。

关于各种性能剖析工具:https://www.jianshu.com/p/0ef3e8315416

3,Unity能否针对不同档次的机器采取不同的纹理压缩格式?比如低端机采用高压缩的ASTC12X12,而高端机采用ASTC4X4

似乎不行,一方面来说,低端机可能都不支持ASTC这种新的压缩格式。

在Quality设置中,有可以设置纹理分辨率的,比如标签为low的质量等级采用1/2图片分辨率。

如何动态设置质量等级:

using UnityEngine;public class Example : MonoBehaviour
{void OnGUI(){string[] names = QualitySettings.names;GUILayout.BeginVertical();for (int i = 0; i < names.Length; i++){if (GUILayout.Button(names[i])){QualitySettings.SetQualityLevel(i, true);}}GUILayout.EndVertical();}
}

4,垂直同步:

显示器与显卡:

双缓冲:前后缓冲,即frontbuffer,backbuffer

显卡-GPU,负责渲染图形数据到前缓冲,然后交换前后缓的指针,然后继续在前缓冲绘制,显示器从后缓冲取数据显示出来。

由于显示器显示画面的过程是一行一行的,当一屏画面画到一半时,后缓冲指针被换成了前缓冲指针时,显示器的一屏画面就有一半是前一帧的,一半是的下一帧的,就出现了画面撕裂。

画面撕裂,不管显示器的刷新率多高或多低都一样出现画面撕裂。

如何避免画面撕裂:在显示器完整的显示完一屏画面后,下一屏画面显示之前的这段时间内交换前后缓冲指针,这段时间就是vertical blanks,即垂直空白。

2020.3.10.遗留问题相关推荐

  1. 2020 年 10 月程序员工资统计,终于涨了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:blog.csdn.net/juwikuang/a ...

  2. python现在第几版-2020 年10月编程语言排行榜,Python 排名逼近第二

    原标题:2020 年10月编程语言排行榜,Python 排名逼近第二 来源:菜鸟教程 TIOBE 2020 年 10 月份的编程语言排行榜已经公布,官方的标题是: Python 排名逼近第二. TIO ...

  3. 微软正式发布Windows 10 2020年10月更新

    让大家等待多时的Windows 10 2020年10月更新终于来了,这也是今年微软为Win10准备的最后一个重大更新. Windows 10 2020年10月更新就是之前多次说道的Windows 10 ...

  4. 2020年10月份学习总结,项目管理案例

    本文摘录2020年10月份学习总结,创建日期:2020-10-26 20:31:51,有修改. 一.案例分享 在一些PM群(PM创造营)定期会分享项目案例,以下的这条案例很常见.很通俗易懂,阅读后会有 ...

  5. 【数据竞赛】2020 Kaggle 10大竞赛方案汇总

    作者: 尘沙黑夜 2020 Kaggle 10大竞赛方案汇总 1  2020kaggle精选10大赛事汇总 1.1  2019 Data Science Bowl(3493只队伍) 1.2  Tens ...

  6. 专家票选! 2020 年度 10 篇人工智能经典论文(6-10)

    内容提要:近日,多家机构发布了关于人工智能的年终回顾总结,从种种表现来看,疫情之下,AI 依然蓬勃发展,全球 AI 产业规模达到 1500 多亿美元.这背后,又有哪些突破性的研究值得关注? 关键词:A ...

  7. 《阿里云SRE技术期刊》2020年10月【电子版】

    简介:<阿里云SRE技术期刊>2020年10月[电子版] <阿里云SRE技术期刊>2020年10月刊重磅发布啦,电子版可戳下方链接获取,感兴趣的小伙伴快来查看吧~~ 有任何问题 ...

  8. 2020年10月份Github上热门的开源项目

    10月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看上榜详情吧: 1. base-admin https://github.com/huanzi-qch/base-admin St ...

  9. python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间

    #1.判断该地址 #1.文件名 #2.文件路径 #3.文件扩展名 #4.文件创建时间2020年10月14日14时25分32秒 #5.文件最后一次访问时间 #6.文件最后一次修改时间 #7.文件的大小( ...

最新文章

  1. Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
  2. 清华大学:确保博士生每年最低资助标准不低于5.1万元
  3. CentOS设置开机自动启动某服务
  4. 购物车的功能——JS源码
  5. php中颜色的索引值,PHP imagecolorsforindex - 取得某索引的颜色
  6. 翁恺老师C语言学习笔记(九)数组的运算
  7. 如何提高Eclipse的运行速度 之总结
  8. 天正安装autocad启动失败_安装天正后cad无法启动 - 卡饭网
  9. 小白转行学IT该怎么选择领域?
  10. 图形驱动程序和显卡驱动什么区别_电脑游戏显卡和专业图形显卡存在的区别
  11. 联想第一季度业绩超预期,增长势头强劲
  12. Testin发布众测平台 助开发者发现质量缺陷建立质量体系
  13. js数组对象按照中文拼音排序
  14. 爬取豆瓣top250电影并分析
  15. 软件评测师证书有什么用,前景怎样啊?
  16. 中国漆画名品东京展出 促中日文化交流
  17. 【DDD设计】 Domain model VS DAL Entity VS Presentation DTO
  18. C语言:一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹;求它在第10次落地时,共经过多少米,第10次反弹多高;
  19. failed to parse the connection string near ‘;serverTimezone=Hongkongamp;characterEncoding=utf-8amp
  20. 怎样测试java程序能否运行_(01-04)Java应用程序可以在(    )平台上直接运行、测试,该平台包括Java虚拟机(JVM)、Java核心类库和支持文件。...

热门文章

  1. 轻量级定时任务框架:APScheduler
  2. RabbitMQ简介以及应用
  3. SpringBoot+MyBatisPlus整合时提示:Invalid bound statement(not found):**.dao.UserDao.queryById
  4. Winforn中使用FastReport实现点击导出按钮PDF预览并弹出另存为对话框
  5. C#中使用Directory实现对文件夹的常用操作
  6. XCode连接手机时提示A Valid provisioning profile for this executable was not found
  7. 安装Scrapy时:Microsoft Visual C++ 9.0 is required
  8. 一次作死尝试:将自己的linux用rm -rf /会怎样?结果哭了。。
  9. HTML5 速查列表
  10. 直播预告 | 后广告时代数据助力融合媒体用户收入增长