很难说创建捕获需要多长时间,因为并非所有时间都实际用于渲染捕获。 例如,加载目标网站或 HTML 也需要一些时间。 要加快屏幕截图渲染速度,请首先检查您是否没有使用 延迟 生成屏幕截图时。
指定延迟不仅会增加创建捕获所需的时间,而且还会影响捕获优先级(万一出现队列)。 幸运的是有 办法解决这个.
接下来检查什么 检索方法 您是否希望收到捕获完成的通知? 同步方法, SaveTo 慢很多 比异步方法 Save。 作为 SaveTo 方法必须每三秒轮询一次 GrabzIt 以确定屏幕截图是否完成,而异步方法将在屏幕截图准备好后立即调用您的回调 URL。
其他可以缩短捕获时间的技术包括:
另一个问题可能是下载屏幕截图所需的时间。 首先检查您生成的捕获的大小,如果它们是大文件,您可以尝试通过执行以下一项或多项操作来缩短下载时间:
最后,如果您控制页面,则可以尝试优化它的屏幕截图。 这需要您进行一些测试,但是可以 save 你几秒钟。 可以尝试的方法包括压缩图像、脚本和 CSS,甚至直接嵌入资源 into 网页的 HTML。 这避免了生成网络捕获时的单独请求。
虽然使用 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 数据URI方法 与服务器端 API 相比,这会增加额外的开销,因为 JavaScript 必须将图像读取为字节并将其转换为数据 URI。