Skip to content
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

Remove rendering pipeline note #94

Closed
wants to merge 1 commit into from
Closed

Remove rendering pipeline note #94

wants to merge 1 commit into from

Conversation

noamr
Copy link
Contributor

@noamr noamr commented Jun 20, 2022

Closes #62

@noamr noamr requested a review from npm1 June 20, 2022 15:07
Copy link
Contributor

@npm1 npm1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think removing this note is consistent with Chrome's implementation

@noamr
Copy link
Contributor Author

noamr commented Jun 20, 2022

I don't think removing this note is consistent with Chrome's implementation

It's true, but it seems chrome's implementation is not translatable to spec language, as it relies on that complex rendering pipeline implementation detail. Which means currently FCP is not apples to apples comparison (no pun intended) across browsers, as mentioned by the WebPageTest folks. I find that unfortunate but I'd prefer that the spec was more normative and chrome can make its own decision about whether to go with it, do its own thing, or propose something else...

@npm1
Copy link
Contributor

npm1 commented Jun 20, 2022

I don't think removing this note is consistent with Chrome's implementation

It's true, but it seems chrome's implementation is not translatable to spec language, as it relies on that complex rendering pipeline implementation detail. Which means currently FCP is not apples to apples comparison (no pun intended) across browsers, as mentioned by the WebPageTest folks. I find that unfortunate but I'd prefer that the spec was more normative and chrome can make its own decision about whether to go with it, do its own thing, or propose something else...

Would it make sense for the spec note that developers should not expect the values to be comparable, and point to this discrepancy as an example then?

@noamr
Copy link
Contributor Author

noamr commented Jun 21, 2022

I don't think removing this note is consistent with Chrome's implementation

It's true, but it seems chrome's implementation is not translatable to spec language, as it relies on that complex rendering pipeline implementation detail. Which means currently FCP is not apples to apples comparison (no pun intended) across browsers, as mentioned by the WebPageTest folks. I find that unfortunate but I'd prefer that the spec was more normative and chrome can make its own decision about whether to go with it, do its own thing, or propose something else...

Would it make sense for the spec note that developers should not expect the values to be comparable, and point to this discrepancy as an example then?

The values are not comparable because we chose to keep the original non-interoperable implementation in chrome... it's a valid choice to do something non-interoperable, as interoperability is not everything. However, since the main idea of standards is interoperability & consensus, I think we should remove the note, as it's vague anyway, and live with Chrome being non-compliant with the normative part of the standard.

@npm1
Copy link
Contributor

npm1 commented Jun 21, 2022

I don't think removing this note is consistent with Chrome's implementation

It's true, but it seems chrome's implementation is not translatable to spec language, as it relies on that complex rendering pipeline implementation detail. Which means currently FCP is not apples to apples comparison (no pun intended) across browsers, as mentioned by the WebPageTest folks. I find that unfortunate but I'd prefer that the spec was more normative and chrome can make its own decision about whether to go with it, do its own thing, or propose something else...

Would it make sense for the spec note that developers should not expect the values to be comparable, and point to this discrepancy as an example then?

The values are not comparable because we chose to keep the original non-interoperable implementation in chrome... it's a valid choice to do something non-interoperable, as interoperability is not everything. However, since the main idea of standards is interoperability & consensus, I think we should remove the note, as it's vague anyway, and live with Chrome being non-compliant with the normative part of the standard.

If we had a new browser implementing this API, shouldn't they aim to provide a timestamp that is close to the actual time when the user sees pixels on the screen? I don't think just removing the note is correct. Sure, perhaps we don't have a clear processing model for how that should look like and the spec states that the timestamp should be much earlier, but I think having that flexibility in the spec is preferable to pretending that the algorithm is fully interoperable.

@yoavweiss
Copy link
Contributor

In conversations with @mmocny, he mentioned that he may be interested in trying to more closely define the concept of "presentation times" and tie that to the various specifications that can benefit from it (Paint Timing, LCP and Event Timing, at the very least).

Might be worthwhile to keep the note (or replace it with a more accurate one) until this work happens.

@noamr noamr closed this Jan 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Timestamps should be specified in an interoperative way
3 participants