It is difficult to say how long it will take to create a capture, as not all of the time is actually used rendering the capture. For instance some time is also required to load the target website or HTML. To speed up screenshot rendering first check that you are not using a delay when generating screenshots.
Not only will specifying a delay increase how long it takes to create the capture it can also effect capture priority, in the unlikely event of a queue. Fortunately there are ways around this.
Next check, what retrieval method you are using to be notified that your capture is complete? The synchronous method, SaveTo is much slower than the asynchronous method Save. As the SaveTo method has to poll the GrabzIt every three seconds to determine if a screenshot is complete while the asynchronous method will call your callback URL as soon as the screenshot is ready.
Other techniques that can improve capture time include:
Another issue can be the time it takes to download a screenshot. First check the size of the captures you are producing, if they are large files you could try to improve the download time by doing one or more of the following:
Finally, if you control the page you are taking a screenshot of try to optimise it. This will take a little testing on your part, but could save you several seconds. Somethings to try includes compressing images, scripts and CSS or even embedding resources directly into the HTML of web page. This avoids separate requests when generating the web capture.
Consider using the
preconnect technique. This will ensure that the DNS resolution and any required SSL handshake is complete before the first call to GrabzIt's API. To do this add the following code to the
HEAD tag of the HTML page where GrabzIt is being used.
<link rel="preconnect" href="https://api.grabz.it" crossorigin> <link rel="preconnect" href="https://grabz.it" crossorigin>
Note that if your website is
HTTP only, you will need to alter the above URL's to use
http and not