Hacker News new | ask | show | jobs
by bayesian_horse 1868 days ago
In Google Docs they value consistency of the rendering output over performance, while complex documents might even see some performance benefits.

CSS Houdini is a way to get performance out of complex and custom layout or animations.

2 comments

I might be misinterpreting, but are you saying the two are mutually exclusive? Google Docs does need custom layout and rendering which may be tough/finicky to implement with the existing css layout, as well as consistency.
Why do you assume canvas will have bad performance? Sheets moved to canvas from HTML, and got a massive perf boost.
It's not totally mutually exclusive. But canvas operations aren't hardware accelerated, and rendering of HTML potentially is.

It's still possible to make the DOM complicated enough that moving to canvas has performance advantages. I don't know the details, but I'm guessing that is achieved by skipping updates the browser would usually make.

Webgl is tho. But even in 2d context api, you have bigger control over how your content is being printed than in html. Which means that a lot of operations that DOM performs unnecessarily in the context of Google docs can be simply discarded.
Yes, which is why in general, DOM rendering is faster, while in special cases, with a lot of manual optimization, canvas rendering is more performant.