2014-03-24 117 views
0

我正在開發一款網頁瀏覽器遊戲,隨着我的進步,我看到很多FPS在動畫中掉落 - 特別是在Chrome中可拖動。我擔心不得不重寫它,並且它變得很沉重,但是當我在Firefox或IE11中運行應用程序時,它的運行順暢,沒有任何明顯的滯後現象!Chrome與火狐瀏覽器和IE瀏覽器相比相當滯後

我不相信鉻不會處理這種類型的渲染,是否有可能我把控制檯上的某些東西變成了呆滯?一些日誌等?

應用程序使用安靜了許多的不透明度,文本和框陰影等等等等

感謝

福克斯

- 更新個人資料 -

因此,這是什麼情況

當用戶打開庫存時

_theatre('sub', '.character-panel', 1); 
$('.character-panel').show() 
_loadInventory(); 
_loadPlayerStats(); 
_loadEquipment(); 

我相信問題是_theatre()函數。它所做的是創建一個具有0.8不透明度的整頁固定div。

function _theatre(t, e, a){ 

if(a == 1){ 

    window.paused = 1; 

    $('html').css('overflow', 'hidden'); 

    $(e).wrap('<div class="theatre-' + t + '"></div>'); 

} 
else{ 

    window.paused = 0; 

    $('html').css('overflow', 'auto'); 

    $(e).unwrap('<div class="theatre-' + t + '"></div>'); 

} 

} 

如果我評論_theatre()函數,那麼拖動效果會非常平滑。

我試圖從div刪除不透明度,但沒有更好的結果。這是怎麼回事? :/

div.theatre-sub {top:0; left:0; right:0; bottom:0; position:fixed; z-index:9996; background-color:rgba(0,0,0,0.8)} 
div.theatre-dom {top:0; left:0; right:0; bottom:0; position:fixed; z-index:9998; background-color:rgba(0,0,0,0.8)} 

探查數據http://imageshack.com/a/img819/8601/jbf2.png

+0

您是否一直在Chrome中開發它?如果是這樣,可能只是需要清除該瀏覽器中的緩存或其他內容。 – TylerH

+0

嗨,是的。哦,我很愚蠢,從來沒有考慮過。現在就試試吧。 – Foxhoundn

+1

有幾點建議。在chrome中,你可以使用'console.profile();來跟蹤你的JavaScript的性能;'這可能有助於縮小代碼的範圍。我假設你沒有使用jQuery,因爲你沒有標記它。但是,如果你使用它和CSS邊框,你需要小心你如何計算寬度。這篇文章更詳細地解釋了這個問題。 http://blog.jquery.com/2012/08/16/jquery-1-8-box-sizing-width-csswidth-and-outerwidth/ –

回答

1

不知道具體的問題,我建議你開始使用console.profile()測試代碼的表現是什麼。這應該有助於查明問題。

例如:

console.profile("Profile One"); 

function yourCode() 
{ 
    // some code 
} 

console.profileEnd("Profile One"); 

enter image description here DEMO:

http://jsfiddle.net/NMbG4/5/

這個類似,你也可以以同樣的格式使用console.time()跟蹤功能有多長以毫秒爲單位。

+0

真棒醬汁功能+1我從來不知道。 –

+0

修復了我的錯誤,並更新了演示..我希望這有助於。 –

+0

謝謝邁克!我用我所能得到的所有信息更新了我的答案。 – Foxhoundn

相關問題