關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
當物體在快速運動時,當人眼所看到的影像消失後,人眼仍能繼續保留其影像1/24秒左右的圖像,這種現象被稱爲視覺暫留現象。是人眼具有的一種性質。人眼觀看物體時,成像於視網膜上,並由視神經輸入人腦,感覺到物體的像。一幀一幀的圖像進入人腦,人腦就會將這些圖像給連接起來,形成動畫。
毫無疑問,幀數越高,畫面的感覺就會越好。所以大多數遊戲都會有超過30的FPS。爲了監視FPS,看看你的程序哪裏佔用了很多的CPU時間,就需要學習一下性能監視器。
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
在Three.js中,性能由一個性能監視器來管理,它的介紹在https://github.com/mrdoob/stats.js 可以看到。性能監視器的截圖如下所示:
其中FPS表示:上一秒的幀數,這個值越大越好,一般都爲60左右。點擊上面的圖,就會變成下面的另一個視圖。
MS表示渲染一幀需要的毫秒數,這個數字是越小越好。再次點擊又可以回到FPS視圖中。
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
1、new 一個stats對象,代碼如下
stats = new Stats();
2、將這個對象加入到html網頁中去,代碼如下
stats.domElement.style.position = 'absolute';
stats.domElement.style.left = '0px';
stats.domElement.style.top = '0px';
3、調用stats.update()函數來統計時間和幀數。代碼如下
stats.update();
- //stats對象初始化
- stats = new Stats();
-
stats.setMode(1); // 0: fps, 1: ms
- stats.domElement.style.position = 'absolute'; //絕對座標
- stats.domElement.style.left = '0px';// (0,0)px,左上角
- stats.domElement.style.top = '0px';
- document.getElementById('canvas-frame').appendChild(stats.domElement);
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
- function animation()
- {
- mesh.position.z+=1;
- renderer.render(scene, camera);
- requestAnimationFrame(animation);
- stats.update();//這個函數真好用
- }
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示
1、setMode函數
參數爲0的時候,表示顯示的是FPS界面,參數爲1的時候,表示顯示的是MS界面。
關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。
幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示