Sampler

Unity Shader 玻璃效果

大城市里の小女人 提交于 2021-02-14 13:46:22
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射。下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的屏幕图像进行关于法线方向上的扭曲和偏移,以模拟折射效果 反射: 主要利用环境贴图产生反射的残影,并和主贴图采样结果混合 得到反射和折射的结果后,以一个插值变量控制最终效果(类似于玻璃的透光率); 脚本如下: 1 // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' 2 3 Shader " MyUnlit/GlassRefraction " 4 { 5 Properties 6 { 7 _MainTex ( " Texture " , 2D) = " white " {} 8 // 这里的法线贴图用于计算折射产生的扭曲 9 _BumpMap( " Normal Map " ,2D)= " bump " {} 10 // 这里的环境贴图用于反射周围环境的部分残影 11 _Cubemap( " Environment Map " ,cube)= " _Skybox " {} 12 _Distortion( " Distortion " ,range( 0 , 100 ))= 10 13 // 一个折射系数

Jmeter定时器

我只是一个虾纸丫 提交于 2021-02-12 09:04:21
第一部分:Request之间的等待时间的设置 先明确一些概念: 1)定时器是在每个sampler(采样器)之前执行的,而不是之后; 是的,你没有看错,不管这个定时器的位置放在sampler之后,还是之下,它都在sampler之前得到执行。 2)定时器是有作用域的;当执行一个sampler之前时,所有当前作用域内的定时器都会被执行; 3)如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入; 4)如果希望在sampler执行完之后再等待,则可使用Test Action; 一、固定定时器(Constant Timer) 毫无疑问,这是最重要的定时器。 需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。 如下图,固定定时器的时长设为300毫秒。 定时器时长并不计入java请求的响应时间,但被计入“事务控制器”的总时间 如果你坚持看到这里,并且对loadrunner的think time和pacing这两个概念还有记忆的话,我们可以有答案了: 对于“java请求”这个sampler来说,定时器相当于loadrunner中的pacing;对于“事务控制器”来说,定时器相当于loadrunner中的think time。 我们通常说的响应时间,应该大部分情况下是针对某一个具体的sampler(http请求)

Jmeter脚本增强--集合点

Deadly 提交于 2021-02-12 07:12:50
简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点 操作步骤:线程组/取样器>添加>定时器>Synchronizing Timer   Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数) 注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。    Timeout in milliseconds:指定人数 多少秒没集合到算超时(设置延迟时间以毫秒为单位) 注意:如果设置Timeout in milliseconds为0,表示无超时时间,会一直等下去。 线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。 1)如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如下图,定时器仅仅对java请求1起作用,即仅在java请求1执行前执行定时器,和java请求2无关。 2)如果你希望synchronizing timer应用于多个sampler. 如下,执行java请求1和java请求2前都会执行同步定时器1、2。当执行一个sampler之前时

关于jmeter读取CSV文件的详细设置

社会主义新天地 提交于 2021-02-02 06:59:23
jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下就是解决的办法: 先做一个Excel表,如下 再将excel表格保存为csv格式: 下面是使用CSV Data Set Config参数化将csv里面的数据读取, 然后再使用benshell将数据获得 下面是添加一个Debug sampler(里面什么也不用,设置保持默认) 和两个http request 下面是查看结果树: 来源: oschina 链接: https://my.oschina.net/u/4315677/blog/3787521

Unity Shader 屏幕后效果——Bloom外发光

て烟熏妆下的殇ゞ 提交于 2021-01-24 00:15:05
Bloom的原理很简单,主要是提取渲染图像中的亮部区域,并对亮部区域进行模糊处理,再与原始图像混合而成。 一般对亮部进行模糊处理的部分采用高斯模糊,关于高斯模糊,详见之前的另一篇博客: https://www.cnblogs.com/koshio0219/p/11152534.html 计算方法: 总共需要用到4个Pass,它们的顺序如下: Pass 1:得到纹理的亮度值(灰度值),由此计算出亮部区域,传递给一个临时的新纹理,这里叫_Bloom Pass 2,3:单独对_Bloom进行高斯模糊(纵横),_Bloom纹理更新 Pass 4:混合原始纹理和_Bloom纹理,得到最终效果 为了得到更为细致的Bloom效果,建议将游戏的颜色空间由默认的伽马空间转为线性空间,必要时还可开启HDR 控制脚本: 1 using UnityEngine; 2 3 public class BloomCtrl : ScreenEffectBase 4 { 5 private const string _LuminanceThreshold = " _LuminanceThreshold " ; 6 private const string _BlurSize = " _BlurSize " ; 7 private const string _Bloom = " _Bloom " ; 8 9

JMETER之JSON提取器

女生的网名这么多〃 提交于 2021-01-23 23:34:02
本次分享大纲 JSON提取器 使用场景 JSON提取器使用说明 JSON提取器语法详解 实例分享 JSON提取器 总结 思考 使用场景 上一个接口的返回值作为下一个接口的传参?怎么实现: JMETER之正则表达式 JMETER之JSON提取器 使用说明 在某个HTTP请求右键添加后置处理器,选择JSON提取器,如下图所示: Applyto (应用范围) : Main sampleand sub-samples :应用于主 sample 及子 sample 
 Main sample only :默认的是这个,应用于主 sample Sub-samples only :应用于子 sample
 JMeterVariableName to use :应用于变量命名的内容 Names of created v ariables :你后续要引用的参数名称 JSONPathExpression : json 表达式 MatchNo.(0or Random): 匹配的值是哪一个,默认不填写是获取符合条件的第一个,这个与正则表达式的类似( 0 为随机、 N 为获取第 N 个、 -1 获取所有) Computecomcatemationvar(suffix_ALL) : 如果发现许多结果,插件将使用“,”分隔符将它们连接起来, 并将其存储在名为 <variable name>_ALL 的 var

使用Eclipse实现自定义Jmeter函数助手

ⅰ亾dé卋堺 提交于 2021-01-23 15:06:02
1. 创建JAVA工程,创建包, 必须要命名包名,包名的形式为XXXX.functions的格式 2. 创建类必须继承AbstractFunction 3.编写代码 package org.apache.jmeter.functions; import java.util.Collection; import java.util.LinkedList; import java.util.List; import org.apache.jmeter.engine.util.CompoundVariable; import org.apache.jmeter.samplers.SampleResult; import org.apache.jmeter.samplers.Sampler; public class hello2 extends AbstractFunction { //函数名称 public static final String key="__hello"; public static List<String> params=new LinkedList<>(); public static String username; public static String username1; static{ params.add("请输入第一个数字"); params

JMeter测试WebSocket的经验总结

瘦欲@ 提交于 2021-01-17 05:51:15
最近有一个微信聊天系统的项目需要性能测试,既然是测试微信聊天,肯定绕不开websocket接口的测试,首选工具是Jmeter,网上能搜到现成的方法,但是网上提供的jar包往往不是最新的,既然是用最新版本的Jmeter4.0,那么所依赖的插件jar包也应该追求新的。所以提供了以下链接供大家下载(甚至连源码都提供): (1) Jmeter工具 (2) websocket请求模板 JMeterWebSocketSamplers (3) jetty-http (4) jetty-io (5) jetty-util (6) websocket-api (7) websocket-client (8) websocket-common 将(2)~(4)中下载的jar包放到Jmeter以下目录下,就能够被调用了: #将你下载的所有jar包,复制到 apache-jmeter-4.0\lib\ext #该目录下 一、启动JMeter windows环境打开 bin下的jmeter.bat linux环境打开bin下的jmeter.sh 由于Jmeter4.0的界面是深色的(看不清字体),默认语言是英语,我们可以调一下。先修改语言:在bin\jmeter.properties中找到#language=en,将前面的注释【#】去掉,改为language=zh_CN。这样启动后就是中文版的,然后到选项-

Jmeter(四十三)WebSocket Sampler 和 Ajax Request

☆樱花仙子☆ 提交于 2021-01-16 09:03:08
权利被放出牢笼,就很难再被关入笼中;奴性被唤出来,腰杆和膝盖很难再直起来。                             ----宅猪《牧神记》 websocket概述: 参考:https://blog.csdn.net/minmintju/article/details/74941445 Jmeter进行websocket协议的接口测试,该类型协议的接口在网上是搜得到的,传送门: https://github.com/maciejzaleski/JMeter-WebSocketSampler/releases 下载即可。 还有依赖需要下载,链接: https://pan.baidu.com/s/1QSp21gRY28t3e6w81Qf3yw 提取码:alwl 依赖maven坐标: https://github.com/maciejzaleski/JMeter-WebSocketSampler/issues/12 将下载完成的jar 放在{jmeter_home}\lib\ext目录下,重启。 Web Server Server Name or IP:被测 WebSocket服务器的域名或IP Port Number: 被测WebSocket服务器的端口号。 Timeout Connection:链接建立的最大超时时间,单位毫秒。如果达到超时时间设置后链接未建立

FFmpeg + OpenGLES 实现视频解码播放和视频滤镜

心不动则不痛 提交于 2021-01-14 02:46:19
该原创文章首发于微信公众号:字节流动 FFmpeg 开发系列连载: FFmpeg 开发(01):FFmpeg 编译和集成 FFmpeg 开发(02):FFmpeg + ANativeWindow 实现视频解码播放 FFmpeg 开发(03):FFmpeg + OpenSLES 实现音频解码播放 FFmpeg 开发(04):FFmpeg + OpenGLES 实现音频可视化播放 前面 Android FFmpeg 开发系列文章中,我们已经利用 FFmpeg 的解码功能和 ANativeWindow 的渲染功能,实现了的视频的解码播放。但是,当你想为播放器做一些视频滤镜时,如加水印、旋转缩放等效果,使用 OpenGL ES 实现起来就极为方便。 OpenGLES 渲染解码帧 经过上面几节的介绍,我们对音视频的解码过程已经比较熟悉了。本文要用 OpenGL 实现视频的渲染,这里再回顾下视频的解码流程: 从流程图中可以看出,解码一帧图像后,首先将对图像进行格式转换,转换成 RGBA 格式,使用 OpenGL 或 ANativeWindow 可以直接进行渲染。 当然,使用 OpenGL 进行渲染时,为了提升性能,可以将格式转换放到 GPU 上来做(即 shader 实现 YUV 到 RGB 的转换),也可以使用 OES 纹理直接接收 YUV 图像数据,这里就不进行展开讲了。