从程序员角度对帧速的解释

帧速是计算机图形学中必须接触的概念,是衡量算法或显卡优劣的重要指标,强调的是计算能力。

官方定义的帧速:动态画面每秒钟展现的帧数,用于衡量视频信号传输的速度,单位为帧/秒(fps)。

程序员角度就是下面的代码,大体意思就是一秒钟内执行了多少次大循环,这里的CaculateFrameRate()

方法更像是一个哨兵,每渲染一次,就调用一次这样的代码。

/** 计算帧速 */

void CameraRove::CaculateFrameRate()
{
    static float framesPerSecond    = 0.0f;          /**< 保存显示帧数 */    
    static float lastTime                  = 0.0f;          /**< 记录上次时间 */                             
    float currentTime = GetTickCount() * 0.001f; /**< 获得当前时间 */                   
     ++framesPerSecond;                                   /**< 显示帧数递增1 */
    /** 如果时间差大于1.0秒 */
    if(currentTime - lastTime > 1.0f )          //超过一秒就归零,此刻的帧速就是framesPerSecond的值
    {      
         lastTime = currentTime;                   /**< 保存当前时间 */
         m_Fps = framesPerSecond;              /**< 当前帧数传给m_Fps */
         framesPerSecond = 0;                      /**< 将帧数置零 */                   
    }
}

时间: 2024-10-14 08:19:41

从程序员角度对帧速的解释的相关文章

程序员算法时间空间复杂度速查表

昨晚一朋友给我发了一个关于算法速查表的文章链接,我觉得作者总结的很好,所以我只将里面的英文转为了中文,剩下的没变. 声明:文章内容非本人原创,原文链接  程序员所有的算法速查表. 数据结构操作 数组排序算法 图操作 堆操作 原文地址:https://www.cnblogs.com/OctoptusLian/p/8643912.html

关于AngularJS 1.x 从Flex程序员角度谈谈我的一些看法(一)

用AngularJS开发了2个很小的项目,多少积累了点经验,这里稍微谈下我一个Flex程序员的角度对它的看法. 你可能会有疑问什么是AngularJS?为什么我们要用它?它有什么用 1:它是google开发的一套前台MVC开发框架,这个框架的健康度很好,社区完善,资料也好找 2:一般说到JS框架,我们第一个想到的就是JQuery.AngularJs其实和它的前驱者JQuery做着差不多的事情,都是对html元素进行动态操作. 两者最大不同之处在于理念,JQuery是操作Dom对象的一套强大工具,

一个bug引发的血案——从程序员角度看罗一笑事件

我这人有个毛病一直改不掉,不过好像也没怎么试过去改,那就是自命清高.这应该是文青的一大特点,总觉得跟文化这么高雅的东西挂钩怎么都低俗不了. 在做公众号这件事情上,自命清高就体现在不谈热点.去年一年火的事情不少--阿尔法狗大战李世乭.王宝强事件,以及川普当选美国总统.为什么不谈呢?首先是因为大家都在谈,我也跟着凑上去有种蹭热点的嫌疑,而且更有种人云亦云的庸俗感.其次是因为有一贯关注的主题,平时工作已经够忙的了,闲下来的时间还是要分配给它们. 到了新的一年,我要洗心革命,要跟人民群众靠拢,不能再做一

关于AngularJS 1.x 从Flex程序员角度谈谈我的一些看法(二)

再来看看关于Angularjs其它一些特性 1.依赖注入这个是老概念了,Angularjs通过参数的形式把实例传递到调用的模块中去,例如下图 灰色的Service 实例就作为一个参数传递到业务逻辑Controller中去的,从而分层,这种方式在Flex Parsley中也是非常常见的,只不过Flex中常用是先用config文件来定义注入关系. Angularjs中又n种注入声明的方法,controller filter directive factory config run.前三个分别用于An

比尔&#183;盖茨写的最古老程序曝光:BAT程序员膜拜 #精选程序人生

比尔·盖茨31岁,就成为世界首富.很多人好奇,作为世界第一大PC系统的创始人,抛弃世界首富的头衔,单单从程序员角度来讨论,比尔盖茨的代码水平如何? 其实,比尔·盖茨对写代码有一种狂热的喜好.上高中的时候,为了获得源代码,比尔·盖茨曾经去翻垃圾桶. 据了解,在 1978 年的 Microsoft BASIC 源代码 6502 中,比尔·盖茨实现了 FOR 和 GOSUB 的所有 BASIC 语句,函数,运算符,表达式评估,堆栈管理,内存管理器,数组和字符串库. 昨日,编程网站 w3cschool

一名好程序员具备的15个特征

1.令人印象深刻的技术技能 程序员有可能长年累月只使用一种编程语言工作,但如果他最近新增了一门编程语言认证,那么凭借多年的编程经验和新增技术技能,一定会让人印象特别深刻. 2.愿意学习 技术总是在不断发展的,程序员们今天的技术和能力有可能几年后便过时.重要的是程序员要擅于找到自己感兴趣的新趋势并把握参加继续教育学习的时机. 3.调试技能 创建代码只是程序员的一部分工作,当软件不能正常工作时,程序员需要做的是快速有效地找到问题的根源.与其盲目花时间进行修改,程序员更喜欢仔细调查和研究可能出现的问题

程序员 30 岁前,该如何规划自己的职业发展?

有读者问我职业规划这个话题,姑且今天好好谈谈,因为我一直认为这个话题对职场工作人士非常重要,今天我就来聊聊程序员的职业规划. 1.为什么职业规划很重要? 在回答这个问题之前,我得先给大家解释下为什么职业规划很重要,我就简单的举个例子,我想大部分人职业生涯的初期,跳槽.换工作大都是为了薪资,哪个方向赚的多,我去干哪个,哪家公司给开的价高,福利待遇好,那我就去那家公司.所以,为什么很多 IT 人频繁的跳槽,我不认为为了钱工作这是错误的价值观,毕竟工作就是为了赚钱养家,过的更好嘛,但是等你经历之后,你

程序员经常遇见的9大困难你造么?

那些非程序员认为软件开发是非常困难的,确实如此,但这种困难不像那些外行人理解的那样.最近的一次讨论,程序员分享了他们认为工作中的最大困难,架构师米洛就在这里为大家呈现出其中的9个.你可以看到,写代码并不是最难的事情,如果你也在从事软件开发,看看哪些内容你认为也是很难的. 1. 设计解决方案   任务描述:给你一系列的需求,你被要求设计和构造技术上的解决方案.这包括了设计数据结构,算法,逻辑上的封装等等,还要考虑到用户安全方面的因素. 挑战:确保你的设计可以满足客户需求,让客户认为合理.当然还要在

让程序员最挠头的9大任务,你认同几项?

那些非程序员认为软件开发是非常困难的,确实如此,但这种困难不像那些外行人理解的那样.最近在 Quora 上的一次讨论,程序员分享了他们认为工作中的最大困难,在这里为大家呈现出其中的 9 个.你可以看到,写代码并不是最难的事情,如果你也在从事软件开发,看看哪些内容你认为也是很难的. 一.怎样才是最佳解决方案 任务描述:给你一系列的需求,你被要求设计和构造技术上的解决方案.这包括了设计数据结构,算法,逻辑上的封装等等,还要考虑到用户安全方面的因素. 挑战:确保你的设计可以满足客户需求,让客户认为合理