Pierre Saslawsky wrote:
> But especially many of these properties, although they are almost never
> changed from their default values, must be accessed very frequently by
> Layout to render the page, either because they create a dependency for
> much more commonly used properties, either because of their intrinsic
> quality. For instance, let's assume that "border" is common but
> "border-radius" is not; we still need to know the border-radius every
> time we draw a border. Same thing with "opacity": almost nobody uses
> it but we need it to render every frame. In Paged Media, almost nobody
> will use "widows" and "orphans" but Layout still needs them for every
> piece of text if page breaks are defined on BODY, DIV or P.
This is a good point, but it doesn't seem hard to address. Make these
properties Rare, but include a mask in the "core properties" record that
tells us whether or not each of these properties has its default value. So
most of the time we can just check the mask and see that we have the
default value, without looking up the table.
Alternatively, put all these "frequently accessed but infrequently
changed" properties into a single record of Auxiliary properties.
Rob
--
[Robert O'Callahan http://www.cs.cmu.edu/~roc 7th year CMU CS PhD student
"Now when Joshua was near Jericho, he looked up and saw a man standing in
front of him with a drawn sword in his hand. Joshua went up to him and
asked, 'Are you for us or for our enemies?' 'Neither,' he replied, 'but
as commander of the army of the LORD I have now come.'" - Joshua 5:13-14]