- 博客(33)
- 资源 (1)
- 问答 (5)
- 收藏
- 关注
原创 客户端性能测试基础知识
腾讯旗下的perfdog可以用于检测客户端帧率、CPU甚至GPU等数据情况,关于perfdog的使用请参考官网说明:https://perfdog.qq.com/用例设计时,尽量保持单一变量,从而使得检测数据更具有说服力测试过程,每个步骤尽量在ferfdog中的timeline(时间轴)上面的tag编写清除,便于对比与定位问题收集录制的文件命名尽量用下划线拼接,便于阅读,如:小米6x_主线。
2023-10-31 11:05:13
953
原创 性能优化之AA反走样优化
在unity的HDR种,默认是支持MSAA的,这个MSAA是觉得多少移动显卡都支持的,反走样效果也比较好。一般情况下,静态画面要比动态画面要好,但是它只支持前向渲染,在MRT情况下,占用内存与带宽也比较高,效率也较差,另外它只能消除Geometry边缘的反走样,对于高光像素部分就显得无能为力了,某些情况下也会出现物体暗边的情况,MSAA是一般前向渲染中,最长使用的反走样方案。相比来说,FXAA更适合对低端设备有要求,对画面模糊不敏感的移动游戏项目,SMAA更适合低端硬件的PC游戏。
2023-10-31 10:40:12
189
原创 GPU渲染中各个步骤的作用
延迟渲染主要是提高渲染效率和灵活性,相比于前向渲染需要对每个像素进行逐光照计算,延迟渲染先将场景中的几何信息渲染到一个G-Buffer中,它存储了每个像素的位置、发现、颜色等信息。在该步骤中,位置、发现、颜色、反射率等几何信息将被渲染到G-Buffer中,后续的渲染和图像处理过可以直接访问G-Buffer中的几何信息,并在各像素处进行准确的计算和处理。这个步骤中,透明物体会按照一定的顺序被绘制,确保正确的混合和遮挡效果,透明物体的渲染通常涉及到透明排序、深度测试和混合模式的设置等。
2023-10-31 10:37:13
205
原创 弱网测试探索
1:为什么选择Network Emulator Toolkita)Fiddler进行限速较为简单和灵活,配置也较为方便,但是由于它是一个应用层的HTTP的代理,只能模拟该层上的行为,对于一些复杂的网络层的丢包、重传等恶劣情况就不能很好的模拟出来,而且对于其他协议的应用也不支持。主要还是用来抓包的。ps:这里为什么说应用层的代理就不能做到丢包、重传等模拟呢?这个就要贴出下面这个著名的TCP\IP的7层协议栈了。因为重传、丢包都是在在网络层发生的。所以只有在网络层的工具才能模拟出这个效果。
2023-10-31 10:34:33
553
原创 Renderdoc中一个daraw的API调用以及其作用
方法用于设置顶点缓冲区,顶点缓冲区是一块GPU中的内存,其中存储了顶点数据,比如顶点的位置、法线、纹理坐标等。使用DrawIndexedInstanced方法,可以实现一些高级的渲染技术,比如实例化渲染(Instance Rendering),即在一个渲染调用中绘制多个实例,每个实例都有不同的属性,比如位置、颜色、缩放等。方法用于设置索引缓冲区,索引缓冲区是一块GPU中的内存,其中存储了构成几何图形的索引数据,比如三角形的三个顶点的索引。该方法需要指定要绑定的缓冲区的索引号和要绑定的缓冲区对象。
2023-02-23 15:08:15
606
原创 Python调用lua
可以使用 Python 的第三方库 pylua 来调用 Lua 代码。首先,需要在 Python 中安装 pylua 库,你可以使用 pip 命令来安装:pip install pylua然后,使用以下代码在 Python 中调用 Lua 代码:import pylua# 创建一个 Lua 虚拟机vm = pylua.LuaVM()# 加载并运行 Lua 代码vm.execute("print('Hello, World!')")# 调用 Lua 函数result =
2023-01-26 23:42:14
2361
原创 热更版本字段对比检查工具设计
实现功能:jenkins上输入某个仓库URL,某个旧版本号、目标版本号,需要查询的文件列表时,jenkins能自动查询这两个版本中需要查询的文件内容中的某些字段是否有被修改到。实现过程设计:流程设计:最终结果输入:结果输出:代码结构:代码详情:SvnHandler.pydef svn_checkout(): """ co 配置文件 :return: """ cmd_co = "svn -r HEAD che...
2022-03-29 09:53:29
778
原创 大调音与小调音
自然大调,自然大调包含七个音符,在唱名中分别是Do、Re、Mi、Fa、Sol、La、Si(或Ti)。C大调是大调中最“简单”的一个调性,因为它是唯一一个没有任何升号(#)和降号(b)的大调,在钢琴中只需弹奏白键。大小调有两种,分别是关系大小调和平行大小调。平行大小调:调号相同,主音相差一个小三度的大、小调式,称为平行关系大小调。音程:两个音之间的距离,像半音、全音这种不是音程的概念,但是会与他们有关系音程可以根据半音的数量进行区分他...
2022-03-25 14:37:12
1082
原创 四、airtest生成聚合报告
承接上一篇airtest批量运行测试用例后,运行结果需要整理出报告,此篇针对测试完后的报告实现作说明。下图是airtest自带的report目录,report在airtest根目录下,集成了bootstrap框架,所以自带report报告界面还是比较好看的。项目的结构如下所示:下面是实现过程:1、在runner中初始化log,log的形式是log_年月日_时分秒。初始化后返回log名字。2、在脚本执行的时创建log。每个用例对应一个log,后续在report里面会遍历拿到这.
2022-03-21 21:11:08
1547
1
原创 三、airtest批量执行用例
我们编写的用例不可能只有一个,执行起来也不可能是单个执行,需要批量执行用例,所有本片文档针对如何批量执行用例作说明。1、项目结构确定,一般项目尽量按照固定结构来设计,有利于批量执行用例和项目用例的维护。项目的结构需要按照如下图所示的结构来设计,下图项目是我以前做的项目结构。批量执行用例在airtestIDE上是无法实现的,IDE只能单用例执行,所以这里通过脚本来实现。完整代码如下所示:# -*- coding: utf-8 -*-import unittestimport os..
2022-03-21 21:06:03
2651
2
原创 二、使用poco进行airtest测试
一poco安装poco是网易自研的无需嵌入sdk。使用poco可以向appuim、selenium一样定位app上的元素对象位置。poco安装有两种方式,第一种是直接网上搜索poco依赖包下载,然后使用python进行解压安装,这里不做介绍。另外一种是直接使用pip安装。在命令行中使用指令:pip install pocoui进行安装。等待安装完后使用pip list命令查看是否安装成功,如下,pip list指令下显示有pocoui了,版本是目前的最新版本。二poco的使用..
2022-03-21 20:56:24
4257
原创 一、自动化测试——Airtest+Poco快速上手
1、前言本文档将演示使用AirtestProject专用的编辑器AirtestIDE,编写Airtest+Poco自动化脚本的全流程。强烈建议新手从本文档开始阅读,并使用AirtestIDE上手脚本编写。2、简介AirtestIDE 是一个跨平台的UI自动化测试编辑器,适用于游戏和App。自动化脚本录制、一键回放、报告查看,轻而易举实现自动化测试流程支持基于图像识别的Airtest框架,适用于所有Android/iOS/Windows应用支持基于UI控...
2022-03-21 16:07:39
5429
原创 Django下返回json数据给客户端
因为数据中可能存在中文,为了避免乱码,建议使用HttpResponse1、使用json.dumps将数据转成json格式,ensure_ascii=False2、添加内容类型为:content_type='application/json,charset=utf-8'下面的ensure_ascii=False和content_type='application/json,charset=utf-8'可以保证即使返回的内容有中文也能正确显示。...
2022-03-07 10:08:56
793
原创 移动端性能基础
这里说一下常用的客户端性能的基础知识:1、内存内存出现瓶颈一般是内存过大会导致APP在低端设备上导致闪退现象,另外就是内存泄漏导致内存暴涨这两个方面的问题。针对这两个问题,第一个问题主要是确保APP能够兼容更低端的设备上也能健康运行,因此APP的运行内存尽可能低对低端设备会更友好。这个一般要有个阈值,最好不出现内存过高的情况,如果超过阈值了(一般根据APP自身的情况而定,比如游戏这块2D游戏一般不要超过550M),为什么这样设定呢?因为考虑到低端设备比如2G运行内存的设备,它本身可用的运行内存就
2022-03-07 10:02:28
326
原创 renderdoc性能计数器定位性能瓶颈
对的查看事件窗口下的duration时间还是不够的,因为这个时间每次load好像都会变。因此需要结合查看性能计数器来进一步判断性能瓶颈。1、点击window下的performance counter Viewer2、选择CPU或GPU的计数参数在弹窗中,左边是CPU或GPU的详细参数,选择自己需要的参数选中(也可以全部勾选),然后点sample counters分析以及截帧的数据3、分析后数据以一张大列表的方式显示每个EID事件的详细CPU和G...
2021-10-28 18:39:05
3139
1
原创 python将list的内容转化为数字
最近有个需求需要将list里面的内容转化为数字给其他方法作为参数调用。网上查了一些博客的内容的一个说法是错误的。number = [str(x)for x in key]如上的代码,得出来的结果依然还是list,本着纠正的态度,根据自己的亲身测试结果,有了解决方法。正确的写法应该是如下的方式:int("".join([str(x)for x in k]))经过本人亲测,上面的写法才是正确的,所以在这里记录一下下面的代码执行的结果如下:...
2021-02-20 11:14:50
7346
1
原创 renderdoc的使用
renderdoc可以用来捕获帧渲染情况,排查一些GPU渲染、资源规格等问题。下面讲述一些该软件连接真机调试使用。一、下载安装renderdoc软件的下载地址:https://renderdoc.org/可直接点击下载即可。该软件是开源免费的,不用破解。下载后直接安装即可使用。二、打开使用renderdoc打开界面后,默认的界面布局如下图所示,(这里我已经设置了黑色主题,可以忽略这点),renderdo中主要的窗口有Texture Viewer(纹理查看器)、Event B.
2021-01-14 16:12:22
21665
10
原创 unity基础知识
最近在学习unity相关知识,这里记录一下学习的记录,以作笔记。1、设置build settingbuild setting里面的player setting中有个run in background选项,表示unity运行game时,当有其他应用位于顶层时,游戏暂停。game窗口下的maximize表示,下一次运行将全屏显示;gizmos:控制游戏内是否显示各种标记,比如光源、音源、相机等2、Hierarchy窗口在unity中,所有场景内的物品都以列表的方式展现..
2021-01-14 15:12:07
2285
原创 svn hook远程构建jenkins实现配表规则检查
前言:目前svn hook+远程构建jenkins+导表规则检查的详细设计还没有看到有具体的博文,所以这里提供一下我在这方面的具体设计过程,供大家参考,如果有更好的设计流程或者建议,请留言给我,感谢感谢!1、搭建本地仓库本地创建local_repository文件夹,然后在文件夹下右击选择TortoiseSVN>Create repository here创建本地仓库创建完,进入local_repository文件夹下面,可以看到已经生成了许多文件,启动db就是仓库的存储数据库,.
2021-01-11 11:44:42
817
原创 win10下配置Ubuntu环境
在win10上配置Ubuntu环境的步骤如下:1、开启开发者设置,在设置里面的开发者选项中选择开发员模式。2、在启用或关闭Windows功能里面启用子系统功能3、在window10的应用商店里面下载Ubuntu尽量选择后面两个,第一个可能存在一些问题,选择后直接进行安装即可。安装完后的效果如下:4、设置账户密码5、切换国内的软件源首先使用sudo apt-get install nano,当然,如果已经存在了则可以跳过该步骤;...
2021-01-11 09:54:07
1815
1
原创 使用pocoui进行airtest测试
一、pocoui安装poco是网易自研的无需嵌入sdk。使用poco可以向appuim、selenium一样定位app上的元素对象位置。poco安装有两种方式,第一种是直接网上搜索poco依赖包下载,然后使用python进行解压安装,这里不做介绍。另外一种是直接使用pip安装。在命令行中使用指令:pip install pocoui进行安装。等待安装完后使用pip list命令查看是否安装成功,如下,pip list指令下显示有pocoui了,版本是目前的最新版本。二、pocoui的使用poc
2020-06-26 17:42:46
3566
2
原创 游戏技能测试点
在游戏中,角色技能是相当重要的一个系统,游戏中有往往有多个角色,一个角色可以有多个技能,每个技能的机制很多是不一样的。所以技能的测试点是不叫复杂的,但是技能在游戏开发时,技能数据都是通过策划填表实现的。所以表格参数可以作为一个很重要的测试点来进行测试点划分以及测试用例设计的切入口。可以作为技能测试的通用模板。技能的测试点有:技能模板:每个技能的实现机制是不尽相同的。所有需要开发各种机制的技能作为技能模板指示器:技能的释放往往有指示器的,指示的范围、指示的目标等技能效果:技能释放前、释放后命中
2020-06-18 15:23:19
7993
5
原创 游戏场景测试
游戏场景在百度百科中的定义是游戏中的环境、建筑、机械、道具等。游戏场景通常可以理解为根据策划的要求还原出游戏中的建筑物、树木、天空、道路等可用元素(包含武器道具等)。游戏场景的测试不仅仅要测试上述部分,还包括了程序、用户体验等其他方面的问题。在拿到了正式美术资源之后,首先关心的就是场景的寻路和碰撞问题。寻路是游戏中人可以行走的区域,碰撞是场景中得物体所占的空间。对于这2个问题,不同的游戏有着不同的处理方式。 有的是服务端有一份数据,客户端生成一份数据,然后2份数据进行对比就可以很方便的找出不一样的地方.
2020-06-17 17:36:56
2377
1
原创 Postman使用引导
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-06-17 17:27:05
2597
原创 性能测试结果分析结果
在做性能测试的时候,在使用LR或者jmeter等一些性能测试工具测试执行结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都要迭代的进行测试,因此很多测试结果本身就不能反应问题,深入分析这样的结果没啥意义。下面说一下就有效的测试结果数据进行分析做一些思考后的见解。1、在整个测试场景的执行的时候,你要留意测试的环境是否正常,测试的过程中是否发生异常,如果发生异常,应该立刻终止测试,应为异常的测试结果是不准确的,没有意义。举个栗子:你在测试的过程当中,如果你发现测试机的CPU利
2020-06-17 13:09:14
2695
转载 SpringMVC Controller介绍及常用注解
一、简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Contro
2017-05-15 09:52:23
316
原创 创建初始上下文
InitialContext类实现Context接口,调用其构造方法便可创建初始上下文(即搜索请求对象的起始点)。创建初始上下文需要设定以下两个环境属性: ①上下文工厂对象spi Context.INITIAL_CONTEXT_FACTORY,指定要使用哪个具体服务提供程序。 ②连接字符串Context.PROVIDER_URL,指定服务的位置和初始上下文的起始点。
2016-04-25 21:28:53
1194
转载 Android中Context详解 ---- 你所不知道的Context(转载)
本文是转载自:http://blog.csdn.net/qinjuning 前言:本文是我读《Android内核剖析》第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书。 大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时
2016-04-17 20:26:22
241
转载 JAVA中的空指针异常(转载)
标签: it分类: Javajava中的空指针异常java.lang.NullPointerException是最麻烦的,通过个人日常总结和网上搜集整理,归纳如下,供大家参考。空指针异常产生的主要原因如下:(1)当一个对象不存在时又调用其方法会产生异常obj.method() // obj对象不存在(2)当访问或修改一个对
2016-04-13 22:27:03
450
python 如何实现循环执行协程并发某个功能
2022-03-27
基于python的protobuf网络框架该怎么设计
2022-03-11
fetch或者axios请求后端数据无法传方法外面的函数使用
2021-08-18
antd design从Git上clone下后,离线使用npm安装失败
2021-08-13
npm+react+antd无法离线(无网)安装
2021-08-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人