使用GPA针对android应用的绘图分析

那段时间,真的是很兴高采烈呢,像是找到了归宿一般。

// —————————— ———- ——- ———– —-

// samplers2D[0]                     sampler      NA          NA   
0        1

// samplers2D[1]                     sampler      NA          NA   
1        1

// samplers2D[2]                     sampler      NA          NA   
2        1

// textures2D[0]                     texture  float4          2d   
0        1

// textures2D[1]                     texture  float4          2d   
1        1

// textures2D[2]                     texture  float4          2d   
2        1

// $Globals                          cbuffer      NA          NA   
0        1

//

//

//

// Input signature:

//

// Name                 Index   Mask Register SysValue Format   Used

// ——————– —– —— ——– ——– —— ——

// SV_Position              0   xyzw        0      POS  float      

// TEXCOORD                 7   xyzw        1     NONE  float      

// TEXCOORD                 0   xyzw        2     NONE  float   x  

// TEXCOORD                 1   xyzw        3     NONE  float   xyzw

// TEXCOORD                 2   xyz         4     NONE  float   xyz

// TEXCOORD                 6      w        4     NONE  float      w

// TEXCOORD                 3   xyz         5     NONE  float   xyz

// TEXCOORD                 4   xy          6     NONE  float   xy 

// TEXCOORD                 5     zw        6     NONE  float     zw

//

//

// Output signature:

//

// Name                 Index   Mask Register SysValue Format   Used

// ——————– —– —— ——– ——– —— ——

// SV_TARGET                0   xyzw        0   TARGET  float   xyzw

//

ps_5_0

dcl_globalFlags refactoringAllowed

dcl_constantbuffer cb0[21], immediateIndexed

dcl_sampler s0, mode_default

dcl_sampler s1, mode_default

dcl_sampler s2, mode_default

dcl_resource_texture2d (float,float,float,float) t0

dcl_resource_texture2d (float,float,float,float) t1

dcl_resource_texture2d (float,float,float,float) t2

dcl_input_ps linear v2.x

dcl_input_ps linear v3.xyzw

dcl_input_ps linear v4.xyz

dcl_input_ps linear v4.w

dcl_input_ps linear v5.xyz

dcl_input_ps linear v6.xy

dcl_input_ps linear v6.zw

dcl_output o0.xyzw

dcl_temps 5

去了新区,重建了一个号,起了个自己喜爱的名字。自此,又是那浩大江湖中的一员。

行使GPA针对android应用的绘图分析

先前平常用GPA来perf端游的绘图,很多perf工具例如perfhud,pix对于加壳的次序连接心中无数,可是GPA却不受那个范围,能够自行HOOK
3D程序的子进度。

 图片 1

 

 

对此Perf手游的解析软件也有诸多,例如AdrenoProfiler、SnapdragonProfiler、UnityProfile、Mali_Graphics_Debugger等工具,但都有成百上千限制:

1、  还得找个对应芯片的真机,最好还ROOT过

2、  USB连接线不稳,总是简单断开,重新连接

 

于是就想着能不能利用GPA等工具来分析android模拟器,经过一番煎熬,发现奏效了。

 

实则方法很粗略,记得把Android模拟器改为DirectX的渲染格局,然后找到模拟器的EXE,当成一般的3D程序HOOK工具就可以了。

 图片 2

 

然后就可以看看一些游玩是咋渲染的了:

 图片 3

 

 

可以看看角色渲染方面利用的萨姆pler和Shader,然而很遗憾,代码是Assembly的,要求活动的转成HLSL。

 

// cbuffer $Globals

// {

//

//   float __BloomFactor;               // Offset:    0 Size:     4

//   float4 __Color;                    // Offset:   16 Size:    16

//   float4x4 __DITHERMATRIX;           // Offset:   32 Size:    64

//   float __Emission;                  // Offset:   96 Size:     4

//   float __EmissionBloomFactor;       // Offset:  112 Size:     4

//   float4 __EmissionColor;            // Offset:  128 Size:    16

//   float3 __FirstShadowMultColor;     // Offset:  144 Size:    12

//   float __LightArea;                 // Offset:  160 Size:     4

//   float3 __LightSpecColor;           // Offset:  176 Size:    12

//   float4 __ScreenParams;             // Offset:  192 Size:    16

//   float __SecondShadow;              // Offset:  208 Size:     4

//   float3 __SecondShadowMultColor;    // Offset:  224 Size:    12

//   float __Shininess;                 // Offset:  240 Size:     4

//   float __SpecMulti;                 // Offset:  256 Size:     4

//   float __UsingBloomMask;            // Offset:  272 Size:     4

//   float __UsingDitherAlpha;          // Offset:  288 Size:     4

//   float3 __WorldSpaceCameraPos;      // Offset:  304 Size:    12

//   float4 __WorldSpaceLightPos0;      // Offset:  320 Size:    16

//

// }

//

//

// Resource Bindings:

//

// Name                                 Type  Format         Dim Slot
Elements

 

明儿中午,进入娱乐后,却接到师父发来的一条信息:“走了不玩了别想自己”。
成功的一句话,没有一个标点,可知其离开的决意已定。我愣了一会,想着自己是还是不是相应挽留下,最后却只回了一句:“好的,狮虎再见”。
说到底,大家也不过是普通交情,是良缘值只维持在“0”的关联。

岳丈现在也不打游戏了,作为打了十年游戏的骨灰玩家,有一天自己问她,“五叔,你玩游戏的时候,有没有好友离开不玩的,或者去了新区的?”
阿爸平静的回应自己,“有啊,很多呢。”
自我又问,“你怎么看吗?曾经的好友不玩了。”
爹爹说,“离开很健康啊。”
本身说,“都不会惆怅、舍不得吗?”
三叔回答,“习惯了就好了。”
自身低头,“不管过了多久,我如故习惯不了这样的事情……”

自己脾气有点慢热,假设进入一个新条件,没人带下我,我可能很难融入进去。
第二回玩《倩女幽魂》的自己也是这般,不敢和其余玩家说话,一向一个人做单人职分慢悠悠升到了69级。结果却在一次帮派义务中,被其余派其外人杀了,我就再也没登录这些游乐。
停止两年前的春天,我看了《记录的地平线》,被动漫中热血的副本战、朋友间的情谊所震撼,极想找一个网游去寻觅这种心境。于是,我又想开了《倩女幽魂》。

本身早已记不清是哪个人先离开的了,他们的名字呈一片黄色,躺在好友列表里,再没有亮起。

没多长期,在世界频道里,我看齐师父家族的一个玩家发言:“幻语,快回来,家里暴发大事了!”
自身无意的想到,作为族长的大师既要离开,他们家族现在自然乱了呢,那个玩家说的也必然是在指那件事。
果然,那些叫“幻语”的玩家回复道:“不回去,我不想见到他俩相差……”

大概是神采飞扬,去游玩中央下载了一款手游。采用它来打发时光,我想大致是因为“操作简捷、一切活动、建模可爱、衣服精粹、风景尚佳”的原委呢。
一初始,就打算当成单机游戏来打。一个人做任务,做完就一个人无处去看山水、截图,并不想和太多的人暴发关系。娴熟些的,也就是在前两日拜了位其余家族的族长做师父,相互嘲笑了几句。

其次天,安安创建了一个谈论组,大家多少人在跨年前夕,欢跃的拉扯,相互陪伴。
是了,那年跨年,我的确是和你们一起的。

大家家到底买电脑很早的,好似我有了记念以来,二叔就起来在计算机上打游戏了。小的时候,也许是受二叔的影响,我也很早便接触了娱乐,跟着她打了《暗黑破坏神2》、《仙剑奇侠传》、《轩辕剑》以及各样2D的小游戏。首个接触的网游《大话西游》打到了六年级,可能是因为后来初中和高中的活着基本都围绕着读书举办了,那之后很少再玩游戏,而五叔却直接打到了本人大四那年。

图表来源互连网检索

今天的作业,确实引我回想了那许多。有时候,如故会专程回忆那几个和挚友们自由战斗的已经。
只愿离开的,也都能分别珍视。

是呀,我认为无论是过了多长期,我都习惯不了吧。
从而,我不再接纳网游,一头扎进单机的世界,选用了剧情走心、脑洞奇大的那多少个游戏。固然再玩手游,我也选取自己独行,不再与任什么人过多的发出关系。
狗熊的自身,也许最后选项的是避开吧。

就如,正好是两年前的后天,我在《倩女幽魂》里和几个很偶尔认识的爱人结拜了。

安年去了新区,师弟和安安去玩了剑三,师父不玩了,师祖也不玩了。原来热闹的议论组,人越来越少,再没有过去一打开就是99+的未读信息。
自我打算挽留她们,平素在和她俩说别走,我觉着我们的真情实意深到丰裕让她们继续留下。
唯独,我却一个人也没有留住。想要离开的人,坚定着祥和的想法,毅然决然,走的那样潇洒,独留大家在从容不迫瞧着她们离开的身形,暗自叹息。到终极,我麻木了,筋疲力竭,不愿再去挽留任哪个人,甚至以为温馨的行事突显如此可笑。自己那样强调的情义,在旁人却挥之即去。

有时候有时间,我会想再移动鼠标去登陆那多少个游戏,可每一遍都鼓不起勇气。我想自己是坐卧不宁的,害怕面对那个早已变灰的名字,害怕还在水滴石穿的那些已经的好友。我究竟在诚惶诚恐什么呢?

幸好在她们撤离后,游戏中又认识了有的人,但看似自己再也提不起当初的力气去和他们聊天,去强化心理。
那之后,我面临大四毕业,插足新的工作。每天拖着疲惫的身躯回到宿舍,做饭洗碗、洗澡洗衣裳,每一周打开总计机的次数屈指可数。逐步地,我也脱离了娱乐。

早已一起游玩的情侣,有些还在线下保持着联系,有些却还没来得及要联系方式,便不是他就是自身先是离开了。我日常回看自己已经说过的话,“我会等你们都距离,再离开。”我也终是负了约,曾经的那批人,就师娘还服从在这里,他又会做何想法呢?

望着他俩的对话,我的思路一下子被扯回了千古。

“立誓:外人乱我情谊者,视金兰谱,必杀之!”

当真是很偶尔的,我结识了安安和安年。开头河,我也没悟出要结拜,是安安来问的本人,我没有迟疑,欣然同意了。
俺们三个,从早到晚的挂在蒲家村外的蝴蝶堆里,杀那个只有1级的小蝴蝶提高好友度。好友度符合了后,却发现并未一个人身上的钱够去买结拜的道具,将三个人持有的银子凑上,才勉强够。轮流填了金兰谱,才意外地发现,我竟是几个人中最大的,自然成为了三嫂,安年老二,安安排老三。
结拜的动画片摄像,那一句“立誓:外人乱我情谊者,视金兰谱,必杀之!”着实燃到了自身。动画过后,系统便在界面滚出我们三个人结拜的通告,以示结拜成功。

接着的小半年,我认识了诸多爱人,十佳好师弟的魅儿,欢脱不着边的小海,认真友好的洛洛,动漫同好者蚊子……但其中,却和安安的大师傅、师娘、师祖最为密切。
自身要好也是有法师的,不过他并不怎么管我,即便带我做义务也有点和本人说道,做完了就相差的那种。安安的大师傅们却越发好,平日带着他同台做职责,和他拉扯。我常对安安说,很羡慕他有那么好的法师们吧。
新生,安安将她师父、师娘和师祖都拉进了我们的切磋组。一群人喜欢,他们也说既然是安安的三妹,日后便也是我们的徒弟。

师娘跟自家说过,”等到你们都不玩了,我也就去新区了。”
本身说,“我会等你们都距离,再离开。”
自己不禁问师娘,“师娘,为何他们都要走?明明从前大家在共同是那么心满意足。”
师娘本次没再回复我。

发表评论

电子邮件地址不会被公开。 必填项已用*标注