我正在構建一個基於畫布的網頁遊戲,在桌面上以60fps的速度運行。它也運行在60fps在android上的鉻。我將它加載到phonegap應用程序中,並且fps計數器仍然讀取60fps,但屏幕每隔幾個刻度就會繪製一次。是否有一個刷新率限制器,迫使webview只能每秒一次地繪製?甚至當網站宣稱它的重繪速度爲60fps時,還有哪些其他的東西可能會限制我的繪圖?Phonegap畫布低刷新率
回答
默認情況下,PhoneGap將使用內置的默認瀏覽器,該瀏覽器不是Chrome瀏覽器,除非您正在使用KitKat,但這是一個不同的故事。
現在我有問題,我自己甚至像得到一個用戶簽名小畫布項目的默認瀏覽器,但是那是因爲火災的TouchEvent率低......
但無論如何,可行的解決方案將是強制的PhoneGap使用而不是默認的一個WebChromeClient,你可以做到這一點的super.loadUrl
調用之前加入如下一行:
appView.setWebChromeClient(new WebChromeClient());
如果強制使用WebChromeClient確保您啓用JavaScript,本地存儲,如果你需要它,等等。也有可能一些PhoneGap插件會中斷。如果你的遊戲純粹是HTML5而不是我建議的考慮,不要爲你的android版本使用phonegap,那麼構建一個簡單的WebView應用程序在Android中很容易。
此外,如果你的遊戲打算使用加速度傳感器,看看什麼是瀏覽器的原生支持:Can I Use resources
希望它幫助。 Emil
這是一個非常有趣的回覆。爲了記錄,我正在使用kitkat。它在webview中運行chrome。奇怪的是,它運行在phonegap之外的60fps,以及手機間隙內60fps(通過xStats輸出),唯一的區別是它只是以大約2fps的速度對我進行物理重繪。我還沒有看到電話之上的其他抽象層嗎?這是一個在手機上缺乏特定功能的畫布的常見行爲嗎? – Dested
是的,我很害怕,我進一步閱讀,似乎是PhoneGap的一個問題,無法資助確切的爲什麼。看起來,甚至連Andorid 4.4默認瀏覽器都不支持WebGl,而Chrome則支持(在瀏覽器中打開Chrome並輸入:about:// gpu)。您可以嘗試強制使用GPU,並在這裏顯示技巧:http://davidwalsh.name/translate3d。爲了能夠給你更精確的文檔,我做了更深入的挖掘,並且我可以證實,甚至連KitKat Chromium webview都支持WebGL(請參閱:http://buff.ly/JjQSm8) –
Whit所有這些說法並放在一起我認爲你應該嘗試尋找替代解決方案。 QuickFix建議的FastCavans或由我自己建議的Intel XDK(我現在正在下載以供玩耍)。此外,我忘了提及,它看起來100%愚蠢,但請確保您已在您的Manifest中啓用硬件加速
- 1. 刷新畫布?
- 2. Wpf畫布刷新
- 3. 低幀率將位圖寫入畫布
- 4. 如何刷新畫布
- 5. 畫布開始刷新
- 6. 刷卡刷新佈局動畫的android
- 7. GPS刷新率
- 8. RSS:刷新率?
- 9. requestAnimationFrame刷新率
- 10. 拉在Phonegap刷新
- 11. 如何避免html5畫布在頁面刷新時刷新
- 12. 每次更改後刷新畫布
- 13. iPad的HTML5畫布不刷新
- 14. 將畫布縮放至全屏確實會降低分辨率
- 15. 頁腳在低分辨率畫布上重疊內容
- 16. Android onTouch刷新率
- 17. Android畫布/ Paint - 更改Android畫布筆刷的刷子尺寸
- 18. 畫一個低分辨率的圈子
- 19. HTML5動畫在持久刷新的畫布上
- 20. 無法刷新畫布 - 通過畫圖但不會更改
- 21. 畫布的另一部分顯示畫布的罕見重複,但不會降低性能。 Android,Phonegap,JQM
- 22. d3畫布筆刷/選擇
- 23. 確定RSS刷新率
- 24. Pygame緩慢刷新率
- 25. Windows(Vista)CMD Verticle刷新率
- 26. 覆蓋屏幕刷新率
- 27. Android TelephonyManager getAllCellInfo()刷新率RSSI
- 28. 廣告投放刷新率
- 29. Authorize.net報告刷新率?
- 30. Android顯示刷新率
也許你會有更好的表現與以下插件(需要全屏畫布,並沒有實現所有的畫布功能)https://github.com/phonegap/phonegap-plugin-fast-canvas – QuickFix
你是否控制重畫與'requestAnimationFrame'? – fny
我會研究fastcanvas,但我希望我不會。是的,我正在使用requestanimationframe – Dested