首页 > 代码库 > 从程序员角度对帧速的解释
从程序员角度对帧速的解释
帧速是计算机图形学中必须接触的概念,是衡量算法或显卡优劣的重要指标,强调的是计算能力。
官方定义的帧速:动态画面每秒钟展现的帧数,用于衡量视频信号传输的速度,单位为帧/秒(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; /**< 将帧数置零 */
}
}
{
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; /**< 将帧数置零 */
}
}
从程序员角度对帧速的解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。