単純なイメージをネットワーク経由で転送すると高速です。 toDataURL
を使用してキャンバス内に作成された同じイメージを転送しようとすると、描画がはるかに遅くなります。どうして?toDataURLが遅いのはなぜですか?
答えて
あなたは、一般的にのであまりコンテキストを与えていない:あなたはtoDataURL()
を使用する場合
ブラウザは小さなヘッダとベース-64ストリームとして画像をエンコードします。ベース64は、符号化されていないサイズと比較して、常にサイズを33%増加させます。
JPEGエンコードされたファイルをネイティブに転送する場合は、通常、イメージのPNGバージョンよりもサイズが小さくなります。 toDataURL
の画像タイプを指定するのを忘れた場合、ブラウザは常にデフォルトでPNGになります。この場合
、JPEGをこのように指定します。
var quality = 0.7;
var dataUri = canvas.toDataURL('image/jpeg', quality);
質問に続きます。パフォーマンス面でlocalstorageと言うことができるようにdataUriを保存する上で不利な点はありますか? – JohnAndrews
@ JohnAndrewsはパフォーマンスのためではありません(オーバーヘッドはまだそこにあります)が、localSotrageは文字列を取るだけなのでdata-uriが必要になります。しかし、ストレージスペース*は簡単に問題になります。 IndexedDBはこのIMHOのより良い選択肢であり、Blobを格納することができます。 – K3N
ああ、私はそれが入力画像にデフォルトになると思った。 Chromeが 'canvas.toBlob'を実装することを楽しみにしていますので、さらに高速で非ブロック化することができます –
- 1. なぜこのtoDataURL行がセキュリティエラーですか?
- 2. なぜアルゴリズムが遅いのですか?
- 3. なぜPageSettings.PrintableAreaが遅いのですか?
- 4. なぜマルチスレッドが遅いのですか?
- 5. なぜ "htmlspecialchars"が遅いのですか?
- 6. なぜiframeが遅いのですか?
- 7. なぜコントローラが遅いのですか?
- 8. なぜSymfony3が遅いのですか?
- 9. なぜrsyncが遅いのですか?
- 10. なぜCollections.counterが遅いのですか?
- 11. なぜガベージコレクションが遅いのですか?
- 12. なぜデータバインディングが遅いのですか?
- 13. なぜTestCompleteが遅いのですか?
- 14. なぜメモリアクセスが遅いのですか?
- 15. なぜNetworkStream.Readが遅いのですか?
- 16. なぜTLSが遅いのですか?
- 17. なぜ滝が遅いのですか?
- 18. なぜLuaループが遅いですか?
- 19. なぜメソッドが遅いですか?
- 20. Firefox - 操作が安全でない[toDataURL]
- 21. Cythonではなぜこのループが遅いのですか?
- 22. IE8でgetBoundingClientRectが遅いのはなぜですか?
- 23. IE7でjQuery Ajaxが遅いのはなぜですか?
- 24. WindowsでPostgreSQLが遅いのはなぜですか?
- 25. QueryOverでSingleOrDefaultが非常に遅いのはなぜですか?
- 26. Spark Streaming + KafkaでforeachRDDが遅いのはなぜですか?
- 27. RSpecがRailsで遅いのはなぜですか?
- 28. linqがCで遅いのはなぜですか
- 29. 複合パーティションキーでCassandraが遅いのはなぜですか?
- 30. C++がトポロジカルソートでJavaより遅いのはなぜですか?
ない十分な情報。 – akonsu
最適化?生成された画像と比較して、通常の画像の重さはどれくらいですか? – Boaz
は 'transfer'を定義します – charlietfl