実際にキャプチャのレンダリングにすべての時間が費やされるわけではないため、キャプチャの作成にどれくらい時間がかかるかを言うのは困難です。 たとえば、ターゲット Web サイトや HTML をロードするのにも時間がかかります。 スクリーンショットのレンダリングを高速化するには、まず、 遅らせる スクリーンショットを生成するとき。
遅延を指定すると、キャプチャの作成にかかる時間が長くなるだけでなく、万が一キューが発生した場合には、キャプチャの優先順位にも影響を与える可能性があります。 幸いなことに、 この回避する方法.
次のチェックは何ですか 検索方法 キャプチャが完了したことを通知するために使用していますか? 同期方式では、 SaveTo ずっと遅いです 非同期メソッドよりも Save。 として SaveTo メソッドは XNUMX 秒ごとに GrabzIt をポーリングしてスクリーンショットが完了したかどうかを判断する必要がありますが、非同期メソッドはスクリーンショットの準備ができるとすぐにコールバック URL を呼び出します。
キャプチャ時間を短縮できるその他のテクニックには次のものがあります。
もう XNUMX つの問題は、スクリーンショットのダウンロードにかかる時間です。 まず、作成しているキャプチャのサイズを確認します。ファイルが大きい場合は、次の XNUMX つ以上を実行してダウンロード時間を短縮することができます。
最後に、ページを制御している場合は、スクリーンショットを撮り、最適化を試みます。 これには少しテストが必要ですが、 save 数秒間。 画像、スクリプト、CSS を圧縮したり、リソースを直接埋め込んだりすることもできます。 into Web ページの HTML。 これにより、Web キャプチャを生成するときに個別のリクエストが回避されます。
上記の最適化の多くは JavaScript API を使用するときに実装できますが、JavaScript はサーバー側ではなくブラウザーで実行されるため、一連の潜在的な最適化とそれに特有の問題が発生します。
の使用を検討する preconnect
技術。 これにより、GrabzIt の API を最初に呼び出す前に、DNS 解決と必要な SSL ハンドシェイクが確実に完了します。 これを行うには、次のコードを HEAD
GrabzIt が使用されている HTML ページのタグ。
<link rel="preconnect" href="https://api.grabz.it" crossorigin> <link rel="preconnect" href="https://grabz.it" crossorigin>
あなたのウェブサイトが HTTP
ただし、使用するには上記の URL を変更する必要があります。 http
そうではない https
.
JavaScript を使用している場合 DataURI メソッド JavaScript は画像をバイトとして読み取ってデータ URI に変換する必要があるため、これによりサーバー側 API に比べて余分なオーバーヘッドが追加されます。