three.js之性能檢測插件(state)



關於性能:測試一個程序,性能上是否有瓶頸,在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();



  1.  //stats對象初始化  
  2.                 stats = new Stats();  
  3. stats.setMode(1); // 0: fps, 1: ms

  4.                 stats.domElement.style.position = 'absolute'//絕對座標  
  5.                 stats.domElement.style.left = '0px';// (0,0)px,左上角  
  6.                 stats.domElement.style.top = '0px';  
  7.                 document.getElementById('canvas-frame').appendChild(stats.domElement);  

關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。

幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示


  1.     function animation()  
  2.             {  
  3.                 mesh.position.z+=1;  
  4.                 renderer.render(scene, camera);  
  5.                 requestAnimationFrame(animation);  
  6.                 stats.update();//這個函數真好用  
  7.             }  

關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。

幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示


1、setMode函數

參數爲0的時候,表示顯示的是FPS界面,參數爲1的時候,表示顯示的是MS界面。


關於性能:測試一個程序,性能上是否有瓶頸,在3D世界裏,經常使用幀數的概念,首先我們來定義一下幀數的意義。

幀數:圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)來表示

發佈了14 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章