如果我通過網絡傳輸簡單的圖像,速度很快。當我嘗試使用toDataURL
傳輸在畫布中創建的相同圖像時,速度會更慢。爲什麼?爲什麼toDataURL太慢?
回答
你沒有給予太多的背景所以一般:
當您使用toDataURL()
瀏覽器將圖像編碼爲一個小的頭一個基本64個流。與非編碼尺寸相比,base-64尺寸總是會增加33%。
如果您本地傳輸JPEG編碼文件,它的尺寸通常比圖像的PNG版本要小。如果您忘記指定toDataURL
的圖片類型,瀏覽器將始終默認爲PNG。
在這種情況下,指定JPEG這樣:
var quality = 0.7;
var dataUri = canvas.toDataURL('image/jpeg', quality);
跟進問題。就性能而言,保存dataUri以說明localstorage是否存在任何缺點? – JohnAndrews
@JohnAndrews不是爲了表現(開銷仍然在那裏),但由於localSotrage只接受字符串,所以需要data-uri。但是存儲空間*很容易成爲問題。對於這個恕我直言,IndexedDB是更好的選擇,它可以存儲Blob。 – K3N
啊,就是這樣,我認爲它會默認輸入圖像,改變爲JPEG讓事情變得更快,謝謝兄弟!期待Chrome實現'canvas.toBlob',以便它可以更快速和無阻塞 –
- 1. 爲什麼GestureOverlayView太慢?
- 2. toDataURL()很慢
- 3. 爲什麼Firebase崩潰報告太慢?
- 4. 爲什麼Python的枚舉太慢?
- 5. Oracle - 爲什麼SELECT * FROM Foo;太慢了?
- 6. 爲什麼SQL「NOT IN」太慢?
- 7. 爲什麼我的MySQL組太慢了?
- 8. 爲什麼土坯空氣太慢
- 9. 爲什麼UIButton框架設置太慢
- 10. 爲什麼MySQL對我來說太慢?
- 11. 爲什麼Python的'all'函數太慢?
- 12. 爲什麼取得記錄太慢?
- 13. 爲什麼nanosleep()和usleep()太慢?
- 14. 爲什麼Eclipse在啓動時太慢?
- 15. 爲什麼atom io編輯器太慢?
- 16. 爲什麼Rails渲染視圖太慢?
- 17. 爲什麼我的SPARQL端點太慢?
- 18. Java - 爲什麼我的插入太慢?
- 19. 爲什麼這個ArangoDB查詢太慢?
- 20. 爲什麼這個MySQL插入太慢?
- 21. 爲什麼git log --cherry pick太慢了?
- 22. 爲什麼我的循環太慢?
- 23. 爲什麼PhoneGap Native Bridge太慢?
- 24. 爲什麼我的代碼太慢?
- 25. 爲什麼ruby scanf太慢了?
- 26. HTML5 toDataURL中有什麼?
- 27. NetworkStream.Read爲什麼這麼慢?
- 28. numpy.vectorize:爲什麼這麼慢?
- 29. 爲什麼DrawReversibleFrame這麼慢?
- 30. 爲什麼「htmlspecialchars」這麼慢?
沒有足夠的信息。 – akonsu
優化?普通圖像與生成的圖像相比有多重? – Boaz
define'transfer' – charlietfl