簡體   English   中英

為什么asm.js項目在Chrome和FireFox中的運行速度更快?

[英]Why is asm.js project running faster in Chrome then FireFox?

我已經使用emscripten將我的大學課程的游戲引擎項目從C / C ++移植到JavaScript。 asm.js優化標志已設置,我一直在測量性能。 但令人費解的是,Firefox中的性能很糟糕。 雖然該項目在Chrome和Opera中運行良好。 鑒於FireFox是使用asm.js優化的瀏覽器,這對我來說沒有意義。

這個項目是一個使用SDL和WebGL的下坡障礙賽車游戲。 在我的筆記本電腦上運行Firefox,分析器顯示該演示完全受CPU限制,瓶頸出現在_SDL_LockSurface()和_TTF_RenderText_Solid()周圍。 這些用於渲染動態文本等。

然而在Chrome中,CPU在同一系統上大部分時間處於空閑狀態。 Opera的性能也很相似。 這是否意味着asm.js優化不起作用? Firefox報告asm.js代碼已成功編譯。 那么為什么這種優化會得到回火並導致執行最多只有幀速率的一半? 我已經測試了FF版本28,也是當前的夜間版本。 該演示可在此處找到, http://www.susurrus.mars-station.com/page7.php?lang = en

我很長一段時間都在考慮這個問題,我可能會給你一個答案。 簡單地說,擺脫canvas.getContext('2d') 我想asm.js根本不是你的問題。

正如@BorisZbarsky所說,這些是與asm.js無關的圖形調用。 你回答說這些運行毫無困難。 我自己測試了它,並且在getContext之后可以使用很多東西,因為2D是重圖形操作,你真的不能在實時fps上做。

那里有一個簡單的例子: http//jsfiddle.net/windkiller/8r3gP/這是非常簡單的動畫,但它占我的CPU的60%。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM