日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品伦精品一区二区三区视频密桃 | 欧美xxxxbbb| 美女色网站 | 99久久免费国产精精品 | 国产伦精品一区二区三区四区免费 | 逼逼爱插插网站 | 96av视频| av大片在线免费观看 | 欧美日韩视频无码一区二区三 | 欧美一级片在线观看 | 色哟哟视频网站 | 搡国产老太xxx网站 高h喷汁呻吟3p | 五月婷婷视频在线 | 超碰在线中文字幕 | 波多野结衣一二区 | 99精品欧美一区二区蜜桃免费 | 中文字幕第十二页 | 免费视频日韩 | 性欧美大战久久久久久久 | 在线观看涩涩视频 | 97精品国产97久久久久久免费 | 成人福利院 | 888奇米影视 | 欧美18av | 亚洲欧洲天堂 | 91精品国产高清91久久久久久 | 偷拍欧美亚洲 | 爱爱视频网址 | av一区不卡| www.avcao| 日韩黄网站| 欧美成人三级在线播放 | 成人免费观看网站 | 久久毛片网站 | 国产一区在线不卡 | 激情综合图区 | 男女做爰猛烈吃奶啪啪喷水网站 | japanese av在线 | 欧美 日韩 国产 亚洲 色 | 久久综合福利 | 波多野结衣av在线免费观看 | 亚洲国产精品18久久久久久 | 国产日韩欧美一二三区 | 黄色日韩 | 国产精品theporn88| 玖玖视频网 | 国产欧美一区二区三区另类精品 | 亲子乱对白乱都乱了 | 黄色av不卡 | 女上男下动态图 | 亚洲黄色小视频 | 欧美裸体视频 | 男人的天堂2018 | 红猫大本营在线观看的 | 51免费看成人啪啪片 | 精品久久久久久一区二区里番 | 最近最好的2019中文 | 麻豆社| 涩涩999| 国产精品人人 | a级国产毛片| 久久久久久久久久久97 | 午夜啪啪网站 | 国产美女精品一区二区三区 | 91理论片午午伦夜理片久久 | 国产精品久久久久毛片大屁完整版 | 一区二区在线观看视频 | 91一级视频| 成人片黄网站久久久免费 | 亚洲第99页| 丰满人妻妇伦又伦精品国产 | 中文字幕有码无码人妻av蜜桃 | 黄色网页入口 | 日韩av首页 | av在线小说 | 最近中文字幕在线中文视频 | 久久久久久久福利 | 538国产精品一区二区 | 免费看欧美一级特黄a大片 国产免费的av | 免费av福利| 日本成人在线免费视频 | 亚洲精品香蕉 | 久久观看最新视频 | 97九色 | 人妻精品久久久久中文 | 黄色一级网址 | 91啪在线观看 | 亚洲少妇精品 | 亚洲国产欧美一区二区三区深喉 | 999超碰 | 免费成人深夜在线观看 | 免费看三级黄色片 | 成人性生交免费看 | 亚洲国产一区在线观看 | 亚洲视频99| 免费在线看黄网址 | 午夜精| 欧洲一级片 | 久久精品国产亚洲AV无码麻豆 |