Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article5 min readViews1

The image file size decreased, yet the first screen still appears late

The main image has request wait time, download time, and display time. Analyzing these stages reveals why further file compression does not improve LCP and what task to assign to the developer.

Comments 0

A ceramic jug on a background for product photography by a window. Generated illustration.
In this article

The product photo was reduced by half, but the speed measurement barely changed. This can happen if the browser spent most of the time not downloading the image but waiting to learn about it. Another option: the file has already arrived, but a script or layout has not yet allowed it to be displayed. Before the next compression, determine at which stage the first screen is delayed.

The LCP metric describes the moment the largest suitable element appears in the visible area of the page. It can be an image or a text block; the main product photo is not automatically designated as this element. Start the analysis with the element that the tool actually identified in the specific measurement.

Four segments of a single wait

For LCP related to a loading image, it is convenient to divide the time into document response, delay before the image request, the download itself, and the delay before display. This prevents mixing server work with browser behavior. Text-based LCP does not have a separate image request, so mechanically applying this scheme to it is not possible.

Hypothetical example: the first byte of the document arrives after 0.5 seconds, the request for the main image starts another 1.4 seconds later, loading takes 0.3 seconds, and an additional 0.6 seconds pass before display. The total is 2.8 seconds. Even halving the loading time in this educational model removes only 0.15 seconds. The biggest opportunity here lies before the request begins.

This is not the result of a test for a specific store, nor a promise of acceleration. In a real browser, stages depend on resources, priorities, and main thread activity. After a change, one segment may shorten while another lengthens. Therefore, both the overall LCP and the cause of the change must be evaluated, not just the file size.

The browser learns about the photograph too late

A standard image whose address is present in the initial markup can be detected by the browser during parsing. If the address is inserted only after loading and executing JavaScript, an additional dependency arises. A similar delay can occur with a background image whose path is revealed through styles.

This is common in sliders and complex store templates. The user immediately sees the placeholder for the banner, but its content is still waiting for the component to start. The developer's task is then to make the critical image available for early detection while preserving the required logic and responsiveness. Switching to another file format does not eliminate this dependency.

Deferred loading is beneficial for images far below the fold. For an image that forms the LCP, it can add unnecessary delay. The loading="lazy" setting should not be disabled for all images en masse: first identify the critical element on both mobile and desktop page variants, then restrict the change to the necessary case.

Priority does not replace early detection

The fetchpriority="high" attribute signals to the browser that a resource has higher relative importance. It does not make an unknown address known, nor does it guarantee a specific appearance time. If all photos are declared critical, the useful distinction between them is lost.

Preloading solves a different problem: it allows notifying about the needed resource earlier. It should be applied after analyzing the request chain. For adaptive images, it is especially important that the preloaded variant matches the one the browser will then choose. An error can lead to unnecessary downloading and competition for the network instead of speeding up.

In an online store, do not preload the entire product gallery in advance just because the first photo turned out to be LCP. The remaining frames may not yet be needed by the visitor. The solution is evaluated based on actual requests and the volume of data transferred, including the mobile scenario, rather than the presence of a recommended attribute in the template.

File received, but the image is still hidden

If the download finishes noticeably earlier than LCP, look for a display delay. The cause may be a busy main thread, waiting for a script, blocking styles, or animation that makes already ready content visible only after an additional condition. Reducing the file size in this case may simply increase the interval between its receipt and appearance.

Ask the developer to map the network request to the Performance entry in browser tools. You need the selected LCP element, its start and end load times, and the work performed before rendering. A single overall speed check score does not show this causal link. A screenshot of the report is useful for discussion, but the actual entry and measurement conditions are more important for investigation.

Compare one scenario at a time

Record the page, screen size, cache state, network and CPU parameters, and browser version. Run several repetitions before and after a single change. If a banner, ads, network, and template all change simultaneously, you cannot confidently attribute the result to image optimization.

Lab testing helps isolate the cause. Field data reflects the experience of real visitors and accumulates over time; they do not have to immediately match local results. Do not mix mobile and desktop values, and do not call a single fast run proof of improvement for all shoppers.

A good task for improvement specifies a concrete delay: for example, the main resource is discovered only after the slider starts. Then the result is verified by reducing exactly this dependency while maintaining correct image display and page functionality. The phrasing "compress everything even more" does not define such a verifiable result.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.