手机网站 域名,vi设计手册模板ppt,wordpress透明,有哪些企业会找人做网站建设目录
1、GPU基本信息
1.1 获取GPU基本信息
1.2 伪造GPU基本信息
2、GPU内存信息
3、经典案例
案例1#xff1a;GPU伪造信息方案
案例2#xff1a;GPU内存统计算法 GPU 指的是 Graphics Processing Unit#xff0c;即图形处理单元。GPU 是一种专门用于处理图形和图像相…目录
1、GPU基本信息
1.1 获取GPU基本信息
1.2 伪造GPU基本信息
2、GPU内存信息
3、经典案例
案例1GPU伪造信息方案
案例2GPU内存统计算法 GPU 指的是 Graphics Processing Unit即图形处理单元。GPU 是一种专门用于处理图形和图像相关计算任务的处理器广泛应用于图形渲染、游戏设计、视频编辑、科学计算等领域。 与传统的中央处理单元CPU相比GPU 在处理大规模并行计算时表现更加出色。GPU 可以同时处理多个数据流执行大量相似的计算任务适合处理需要高度并行计算能力的工作负载。 在图形应用方面GPU 通常被用于加速三维图形渲染使得游戏、虚拟现实VR、电影特效等内容的表现更加流畅和真实。此外GPU 也被广泛应用于机器学习、人工智能等领域用于加速深度学习网络的训练和推断过程。
1、GPU基本信息
1.1 获取GPU基本信息
可以通过如下命令来获取当前系统或者手机的GPU信息 adb shell dumpsys SurfaceFlinger | grep GLES 如上可以分为三部分其中第一部分可以理解为此GPU生产公司ARM表示此GPU采用了ARM架构Imagination Technologies为另一个平台或者公司的架构通常简称为IMG
1.2 伪造GPU基本信息
可以通过如下命令来伪造当前系统或者手机的GPU信息伪造就是认为的更改GPU相关信息 adb root adb shell setprop vendor.debug.gpud.enable 1 adb shell setprop vendor.debug.gpud.process.name adb shell setprop vendor.debug.gpud.gl.vendor ARM adb shell setprop vendor.debug.gpud.gl.renderer Mali-G52 MC2 adb shell stop;start adb shell dumpsys SurfaceFlinger | grep GLES 我们为什么要伪造GPU的信息因为很多三分应用或者进程特别是游戏应用会根据不同的GPU来做出不同的渲染流程例如MIR4游戏在低端GPU的手机里面调用了不同的opengl纹理来进行图像渲染。来保证兼容一些低端机型的画面流畅但是这些难免会存在一些bug例如部分应用在某些机型上出现闪屏或者图像显示不正常此时我们可以通过伪造来排除GPU的不同导致的问题。
2、GPU内存信息
可以通过如下命令获取GPU内存相关信息 adb shell cat proc/mtk_mali/gpu_memory //此条命令只针对MTK不同平台路径不一样 第一行mali0 141867表示第一块GPU暂时代名为mali0其总共使用了141867个内存页注意单位是页因此转换为kb的计算方法141867 * 4 567468 kb。注意他不是gpu内存容量大小而是统计了当前系统所有使用gpu mali0的进程的内存页数之和因此它的数值也是实时在变化。之后的kctx表示一个 Kernel Context具有 ID 0x0000000061e8bc12可能是某个进程的句柄对象的HASH值。其中红色框部分表示每个kctx进程使用了gpu内存页数所有的kctx的内存页数之和等于mali0的内存页个数后面绿色框部分表示每个kctx对应的进程PID大多数进程通常只会存在一个kctx但是也有个别应用或者进程拥有多个kctx例如上图中的PID为25212进程。
3、经典案例
案例1GPU伪造信息方案
问题描述com.wemade.mir4global游戏在google play第一次启动的时候出现不支持纹理的提示框且游戏界面人物显示异常打上了马赛克 问题分析此游戏在google等对比机上面能够正常使用和显示并没有此类弹框根据弹框可以支持提示的此平台的opengl部分纹理格式且有如下异常日志 最后结论经过大量测试发现此现象只出现在IMG平台上MTK做了如下实验将img的gpu fake to malifake的意思就是伪造GPU的型号信息即三方应用读取GPU的型号出来就不再是IMG二手MAILI之后就能正常启动
问题总结此题是APP问题fake GPU以后游戏显示正常。所以和DDK修改无关。fake GPU有效果。是APP将img的gpu fake to mali的游戏显示正常了。是MIR4对GPU的型号做了区分所以表现形式不一样
修改方案通过代码方式伪造GPU信息为ARM 案例2GPU内存统计算法
问题描述Pizza Ready 12.0.0 Screen record in Game mode assist disappear after playing
问题分析在Android 14的手机上玩Pizza Ready游戏过程中出现screen record进程被杀此时dump了该应用内存使用情况并与对比机进行了对比发现GL占用相差500M 后对比了多款机器此应用adb shell dumpsys meminfo io.supercent.pizzaidle的表现如下从此结果可以看出来在Dimensity 6300kernel 5.15android 14的平台上必现在Helio系列的机器均不出现初步怀疑此问题为平台基线共性问题 后对比了多款机器在其他应用的表现是否也存在差异如下表从此表结果可以看出pizzaidle单独应用存在 最后MTK和Arm给到的回复为GPU统计BUG即pizzaidle存在多个kctx之前的统计方式只计算了第一个kctx因此只有几M后加入修复patch轮询统计某进程对应的所有kctx所以计算出来有500多Mpatch如下