Fraps为免费软件(wiki),通过Hook OpenGL(SwapBuffer)或D3D(Present)来获取目标进程的FPS信息(32位进程注入fraps32.dll,64位注入fraps64.dll),并能进行截图和视频录制。

当前最新版本为3.5.99,最高支持D3D11。通过付费升级,除了截取BMP之外,可截取JPG, PNG和TGA格式图片,且录制的视频不会有水印。

Fraps属于动态挂钩,当进程切到当前窗口,Fraps会自动挂钩到进程上;修改Fraps设置信息会立即生效(注:不用重启游戏或Fraps)。

FPS数值显示与隐藏

通过按F12,来切换FPS数值在游戏界面上的显示位置与隐藏:   左上  -- 右上 -- 左下 --  右下 -- 隐藏

注:勾选“Only update overlay once a second”,则FPS数值会1秒刷新一次

BenchMark:获取一段时间的运行帧数、时长、FPS平均值、FPS最大值、FPS最小值

① 通过按F11来开始记录,再按F11来结束记录(也可以通过定时的方式来结束:勾选“Stop benchmark after xx seconds”)

a. 若显示出了FPS数值:开始记录时FPS数值的背景色为绿,随即FPS数值会消失,进入记录状态。

     

再按F11时,FPS数值会又显示出来,背景色为红,字体颜色由白变黄,并根据BenchMark选项来写文件到“Folder to save benchmarks in”所设置的目录中,结束该时间段数据的采集。

b. 若没有显示出FPS数值:只是在UI上没有明显地提示,功能会正常运行,结束后会根据BenchMark选项来写文件到“Folder to save benchmarks in”所设置的目录中。

② “Folder to save benchmarks in”所设置的目录存在,即使没有勾选任何BenchMark选项,结束记录时也会将MinMaxAvg记录添加到FRAPSLOG.TXT中

注1:目录不存在,且没有有勾选任何BenchMark选项,则不会有任何文件记录

注2:只要勾选了BenchMark选项,目录不存在时会创建该目录,并将MinMaxAvg记录添加到FRAPSLOG.TXT中

③ 勾选“FPS”,结束记录时生成形如:“进程名 YYYY-MM-DD hh-mm-ss-ms fps.csv”文件

注:FPS的采集时间间隔为1s

④ 勾选“Frametimes”,结束记录时生成形如:“进程名 YYYY-MM-DD hh-mm-ss-ms frametimes.csv”文件

注:记录每帧起始的时间信息,单位为ms

⑤ 勾选“MinMaxAvg”,结束记录时生成形如:“进程名 YYYY-MM-DD hh-mm-ss-ms minmaxavg.csv”文件

使用Fraps获取3D程序的FPS的更多相关文章

  1. WPF嵌入Unity3D之后,unity3D程序的键盘和鼠标事件无法触发(3D程序的焦点无法激活)的解决方案

    目前最通用的客户端调用3D的方式,就是WPF程序通过Process启动Unity3D的exe进程,直接上代码: //开启3D进程 internal void Create3DProcess(strin ...

  2. 如何用Unity创建一个的简单的HoloLens 3D程序

    注:本文提到的代码示例下载地址>How to create a Hello World 3D holographic app with Unity 之前我们有讲过一次如何在HoloLens中创建 ...

  3. C#获取当前程序运行路径的方法集合

    //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (. ...

  4. iOS程序破解——获取.ipa程序包

    原文在此 首先肯定不是获取自己的ipa包. 为什么要获取ipa包呢?比如,在仿写一些程序时,避免不了获取它的图片素材等等,那么最快也是最有效的方式就是获取原程序的ipa包.更或者,你想要逆向分析某一款 ...

  5. winform 获取当前程序运行根目录

    // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...

  6. 获取应用程序信息.h

    ////  获取应用程序信息.h//  IOS笔记// 一般会用来判断是否有新版本.是否需要强制更新 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中ta ...

  7. C --gettimeofday===获取某个程序经历的时间

    #include <stdio.h> #include <sys/time.h> #include <time.h> int gettimeofday(struct ...

  8. Linux中获取当前程序的绝对路径

    代码如下: char current_absolut_path[MAX_SIZE] = ""; memset(current_absolut_path,,MAX_SIZE); // ...

  9. 使用 Intel GPA 与 分析3D程序和抓取模型

    原文链接在这里 http://dev.cra0kalo.com/?p=213 背景信息 Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook G ...

随机推荐

  1. HP服务器设置iLO

    HP服务器设置iLO步凑 1.开机出现界面—按下F11进入Boot Menu: 2.选择Generic USB Boot回车: 3.选择System Configuration回车: 4.选择iLO ...

  2. Homebrew简介和基本使用

    一.Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径 ...

  3. Go基础系列:常量和变量

    常量(Constants)和iota 常量包含不会发生更改的数据.常量的数据类型只能是boolean.number(int/float/complex)或string. 定义方式: const NAM ...

  4. Python系列:二、数据类型--技术流ken

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  5. 响应者链UIResponder-扩大UIButton的点击范围

    在开发中,我们经常看到有按钮等的点击,会出现响应事件.按钮->view->ViewController->UIWindow->UIApplication,这就形成了一个响应链. ...

  6. 依然是关于我空间那篇申请的日志《JavaScript axError:Unexpected token ILLEGAL 很简单的代码……》

    接下来要讲的日志现在的标题已经更改为<很简单的代码,但是无法--> 这篇日志地址:http://www.cnblogs.com/herbertchina/p/4475092.html 经过 ...

  7. Office 365平台及其价值主张

    重要提示:<Office 365开发入门指南>视频教程还没有上架,目前会先公开几个小节的文字版本,让大家先睹为快,请大家转发给感兴趣的朋友,敬请留意课程的正式上架和优惠券发放通知. 从今天 ...

  8. SVN服务器本地搭建与使用

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6623026.html  使用SVN进行代码管理,需要搭建服务端资源库,然后在使用SVN的电脑安装SVN客户端或 ...

  9. POJ2484

    A Funny Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6178   Accepted: 3861 Desc ...

  10. javascript 里面 with 关键字

    1.with的基本概念 with语句的作用是将代码的作用域设置到一个特定的作用域中,目的是为了简化多次编写访问同一对象的工作.基本语法如下: with (expression) statement 下 ...