日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[译]GLUT教程 - 每秒帧数

發(fā)布時(shí)間:2024/4/14 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译]GLUT教程 - 每秒帧数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Lighthouse3d.com >> GLUT Tutorial >> Extras >>?Frames per Second

?

你的程序?qū)嶋H上跑得多快? 有時(shí)我們我們改了一個(gè)小地方卻不確定效果有沒有表現(xiàn)出來(lái),即它們?nèi)绾斡绊懨棵腼@示的幀數(shù).本節(jié)我們會(huì)來(lái)看怎么使用GLUT來(lái)計(jì)算出每秒的幀數(shù).注意這不能看作是真是測(cè)試數(shù)據(jù),它只是個(gè)參考值.

GLUT提供一個(gè)函數(shù)來(lái)查詢系統(tǒng)中的很多特性,其中之一是獲取調(diào)用glutInit函數(shù)時(shí)使用的毫秒數(shù).該函數(shù)是glutGet,原型如下:

?

int glutGet(GLenum state);

state - 指定我們需要的值

?

該函數(shù)可以用于很多方面,例如獲取窗體坐標(biāo)或者獲取OpenGL的緩沖深度.本節(jié)我們用它來(lái)獲取調(diào)用glutInit函數(shù)時(shí)使用的毫秒數(shù),保存在GLUT_ELAPSED_TIME傳參中.

?

int time;...time = glutGet(GLUT_ELAPSED_TIME);

?

現(xiàn)在用該函數(shù)來(lái)計(jì)算程序每秒的幀數(shù).幀與幀之間的速率是變化的,因?yàn)椴⒎撬袔加孟嗤匿秩緯r(shí)間,因?yàn)椴僮飨到y(tǒng)不是只有你的程序在運(yùn)行.操作系統(tǒng)取得它的通行權(quán),然后鏡頭隨著渲染的物體而改變.因此我們將會(huì)避免計(jì)算每一幀的速率,而去計(jì)算每秒大概的幀數(shù).這樣會(huì)提供一個(gè)更精確的數(shù)值,雖然它也仍然只是一個(gè)均值.

先聲明三個(gè)變量: frame, time和timebase, 其中timebase和frame初始化為0.

int frame=0,time,timebase=0;

這三個(gè)變量作用是:

frame - 我們從開始統(tǒng)計(jì)幀速率到現(xiàn)在的幀數(shù)

time - 當(dāng)然的毫秒數(shù)

timebase - 我們從開始統(tǒng)計(jì)幀速率到現(xiàn)在的時(shí)間

?

下面這段代碼,只要放到空閑事件的處理函數(shù)中,就會(huì)實(shí)現(xiàn)上述效果:

...frame++;time=glutGet(GLUT_ELAPSED_TIME);if (time - timebase > 1000) {fps = frame*1000.0/(time-timebase));timebase = time;frame = 0;}...

?

我們從增加幀數(shù)開始,例如增加各種幀.然后記錄當(dāng)前事件.然后我們對(duì)比timebase來(lái)檢查讀秒,例如看time和timebase是否相差1000毫秒.如果還未到時(shí)間,會(huì)先跳過計(jì)算部分.然而即使超過了1秒,我們也會(huì)進(jìn)行計(jì)算.

從time和timebase的差是提供了開始統(tǒng)計(jì)幀數(shù)到停止所經(jīng)過的毫秒數(shù).該值除以1000就是所經(jīng)過的秒數(shù).剩下要做是把該秒數(shù)值乘以從開始統(tǒng)計(jì)幀數(shù)到停止所渲染的幀數(shù),就得到了每秒的幀數(shù).最后我們重置timebase到當(dāng)前的毫秒值,把frame置零.

注意,如果程序的timebase為0,就要先等1秒來(lái)等待初始化該值.一開始的初始值會(huì)有誤導(dǎo),因?yàn)樵撝道锩姘顺跏蓟绑w消耗的時(shí)間.你測(cè)試一下就會(huì)發(fā)現(xiàn)該值會(huì)遠(yuǎn)比實(shí)際幀速率低.

如果你想輸出每秒的幀數(shù),你可以使用以下代碼:

...frame++;time=glutGet(GLUT_ELAPSED_TIME);if (time - timebase > 1000) {sprintf(s,"FPS:%4.2f",frame*1000.0/(time-timebase));timebase = time;frame = 0;}glColor3f(0.0f,1.0f,1.0f);glPushMatrix();glLoadIdentity();setOrthographicProjection();renderBitmapString(30,35,(void *)font,s);glPopMatrix();restorePerspectiveProjection();...

?

轉(zhuǎn)載于:https://www.cnblogs.com/live41/p/3393941.html

總結(jié)

以上是生活随笔為你收集整理的[译]GLUT教程 - 每秒帧数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆国产一区二区三区四区 | 神马午夜91| 无码人妻精品一区二区三区不卡 | 91免费版视频 | 欧美极品一区二区 | 欧美二三区 | 森泽佳奈av| 日本天堂网在线观看 | 亚洲精品一二 | 日韩黄色免费网站 | av四虎| 日本免费在线视频 | 亚洲精品社区 | 婷久久 | 91久久国产综合久久91精品网站 | 青青艹视频 | 日本高清有码 | 福利在线一区二区三区 | 天天想你在线观看完整版电影免费 | 日本理论视频 | 日本美女视频一区 | 亚洲精品丝袜 | 黄视频免费看在线 | 97超视频 | 加勒比hezyo黑人专区 | 日韩高清一级 | 息与子五十路翔田千里 | h毛片| 欧美极品三级 | 亚洲精品二区 | 久久综合亚洲 | 国产综合影院 | 成人手机在线观看 | 日本少妇激三级做爰在线 | 国产a国产| 亚洲第一页色 | 在线免费观看亚洲视频 | 国产精品伦一区二区三区 | 夜夜夜夜爽| 色老汉av一区二区三区 | 久热一区| 少妇熟女一区 | 国产精品白丝喷水在线观看 | 日韩综合第一页 | 国产精品污www一区二区三区 | 视频在线观看免费 | 中文不卡av | 日本三级生活片 | avtt2015 | 国产激情片 | 麻豆视频传媒入口 | 草莓巧克力香氛动漫的观看方法 | 国产精品极品白嫩 | aaaaaav| 久久亚洲AV无码 | 91av中文字幕| 秋霞欧洲| 99热这里只有精品9 日韩综合在线 | 中国一区二区视频 | av网站导航 | 国产免费看黄 | 日本视频在线看 | 日本在线一级片 | 91视频免费播放 | av永久在线 | 欧美久久精品 | 喷水视频在线观看 | 在线观看亚洲一区二区 | 少妇一级淫片免费播放 | 成年人午夜免费视频 | 精品国精品国产 | 2021国产精品视频 | 欧美xxxx喷水 | 爱情岛论坛亚洲品质自拍视频 | 久久高清免费视频 | 超碰成人在线免费观看 | 亚洲成a人v | a片在线免费观看 | 欧美亚洲精品天堂 | 插女生下面 | 视频国产一区 | 欧美永久 | 亚洲成人高清在线观看 | a级片黄色 | 重口变态虐黄网站 | 欧美 日韩 精品 | 羞羞的视频网站 | 一女被多男玩喷潮视频 | 精品久久久久一区 | 亚洲综合精品国产 | 久久久www成人免费无遮挡大片 | 国产亚洲精品久久久久久青梅 | 欧美一区二区三区日韩 | 日韩精品人妻中文字幕有码 | 天天夜夜啦啦啦 | 美女张开腿让男人桶爽 | 亚洲国产精品成人综合久久久 | 牛牛视频在线 | 欧美成本人视频 |