w3c / imsc-hrm

IMSC Hypothetical Render Model
https://w3c.github.io/imsc-hrm/spec/imsc-hrm.html
Other
1 stars 6 forks source link

Computation model incomplete? #37

Closed aphillips closed 1 year ago

aphillips commented 2 years ago

https://w3c.github.io/imsc-hrm/spec/imsc-hrm.html#paint-text

In discussing the above algorithm in the I18N teleconference of 2022-02-03, the Working Group was concerned that the list of scripts, blocks, and other information seemed incomplete and possibly is an estimate based on some developer's experiences. There seem to be gaps in potential sources of render speed complexity (there is no mention of bidi/right-to-left for example).

Does TT need help with filling in missing values? Is this model complete?

nigelmegitt commented 2 years ago

It would be useful to know what gaps were identified - you mention bidi/rtl, but are there others @aphillips ?

My understanding is that the major component of rendering performance has been considered to be painting rather than layout, but if layout is indeed a major performance issue then we should think about that.

One potential mitigation is that the performance factors defined in the specification, Ren and GCpy, effectively provide "just a number" for each character code encountered, so if it is a reasonable a first order approximation that layout time is proportional to number of characters then any layout time can be factored into those performance factors: arguably this has already been done when deriving (empirically, I believe) the values during early work on what became IMSC.

aphillips commented 2 years ago

We don't know what you're trying to do and how precisely you thought the HRM needs to be in this regard. It makes it difficult to discern where there are gaps.

My observation here is that you list like four scripts with one performance level when probably dozens have similar performance. Similarly you call out one of the CJK blocks with a different render performance. It's unclear how HRM arrived at these values. It's also unclear if you want to achieve fairly precise results vs. a broad estimate. Can you clarify what's needed here?

nigelmegitt commented 2 years ago

I think a broad estimate is what is needed, but if there are any scripts or blocks that are known to be significantly more or less computationally intensive to render or copy, we should call those out.

I suspect that the observation of just a small number of scripts reflects the input we have received, but I do not want to state this with any certainty until we've had a think and a dig around - this algorithm and wording has been around for several years.

aphillips commented 2 years ago

Rather then speculate, we should probably turn to the rendering experts, such as @behdad.

himorin commented 1 year ago

@aphillips (/cc @behdad ) we actually have not get input from script/language dependent rendering experts, so how about to resolve this with keeping existing note which states more script/language dependent complexity parameter could exist and not covered in current list, and seek further input later?

behdad commented 1 year ago

Sorry for the late reply. I've studied the computation model and given how rough of an approximation it is, I think it is good enough as it is.

aphillips commented 1 year ago

Thanks @behdad. I think we could close this issue.