2

pywebkithtml5を使用して、デスクトップ マップ サーバーを開発しています。

マップ タイルはsqlite データベースに格納されます。

したがって、html img の src を設定する場合、2 つのオプションがあります。

  1. 1 つはデータベースから画像を読み取り、それをb64 エンコードしてから、img の src に「data:image/png;base64,b64Encoder-string」を設定します。

  2. もう1つは、データベースから画像を読み取ってディスクに保存し、URLを使用してimgのsrcをローカルフォルダーに設定します。

私の質問はどちらが良いかです。

一番気になるのは描画速度です。ブラウザが画像をレンダリングするのにどちらが速いか。

4

2 に答える 2

5

<img src="http://mysite.com/images/myimage.jpg" />これは実際にはhttp URIスキーム<img src="data:image/png;base64,efT....." />ですがdata URI、この方法では画像は HTML にインライン化され、追加の HTTP リクエストはありませんが、ほとんどの場合、異なるページの読み込み間で埋め込み画像をキャッシュすることはできないため、ソリューションは実際にあなたのやり方で進みます. ..あなたにとって何が良くて、イアンが提案したことを見落とすのが便利ですか:)

次に、ブラウザの互換性に移動します-

データ URI は IE 5 ~ 7 では機能しませんが、IE 8 ではサポートされています。ソース

ページ サイズ:

base64 エンコーディングによってページ サイズも増加します。これも注目すべき点です。

于 2013-05-20T04:08:25.147 に答える
1

アプリケーションの実行方法や、実行環境などのその他の詳細に大きく依存します。

画像をディスクに保存すると、必要なたびに画像を再エンコードする必要がなくなるという利点があります (計算された base-64 文字列を使用して DB に列を追加することで回避できます)。

概要: 1-最初のオプションを使用しますが、データベースまたはサーバー変数にキャッシュします。2-2 番目のオプションを使用して、ファイル名をキャッシュします。

しかし、セカンダリ ストレージがどれだけ速いかという問題があります。たとえば、キャッシングを使用しても HD の使用を避けたい場合があります。これは、HD が遅い、またはバイナリ ストレージが限られている (および DB ストレージが多い) ためです。

気になる点を具体的に書いていただければと思います。

于 2013-05-20T04:09:19.453 に答える