-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Image rendering stages: finer granularity #54
Comments
One possibility is to add say 4 different timing meters. Yes another possibility is to add infinitely many and integrate over them by using a weighting function to get a number that represents overall image rendering utility. It may be easier to optimize image transport systems when there is a single meaningful number that approximate system behaviour. |
For a metric, you can compute an integral. For an event, something discrete is needed. One example is a Javascript-based image carrousel/gallery that needs to know when the next image is available for it to allow starting a transition effect to the next image – if the |
Finer granularity for image rendering stages would be useful at Pinterest - if possible we measure when all the images rendered within the viewport have reached at least 65% quality. A callback that provides the overall image rendering progress at significant stages would be great. If the stages were defined by industry standards for what is considered "good-enough" rendering, we could potentially align with that if the threshold was high enough (we have seen through experimentation that lowering image quality can significantly impact user engagement, for example, using 474px in place of 736px for our hero images resulted in metrics losses). Many of our images have text in them, which may make standards for image quality higher. |
For image loading, I think the following stages are relevant:
It would be good if these could be distinguished, both for the purpose of metrics and for the purpose of html events.
The text was updated successfully, but these errors were encountered: