Gosub Browser Progress, pt42

Created at 2025-02-10 10:57:56 (1 week ago)

I'm currently making lots of progress with the render pipeline proof of concept. Right now, we have separated all things into phases which all have a defined in and output. This would make it easier to actually replace certain components with others when needed.

At the moment we are able to parse a document into layout boxmodels and paint those boxmodels into screen. This means that each element has its own information about where it resides, how much padding, margin border it has etc.

We can also move elements into layers where elements can be controlled independently from other elements. This is nice for instance with css transformations and such, where the compositor can easily move layers independently from other layers (and without rerendering those layers).

At the moment we are in the process of tiling the layers. Each tile (say 256x256) will be rendered seperately and stichted together in the compositor. The main benefit of this is when an element changes, only the tiles in which this element resides needs to be updated. All the other tiles that are already rendered do not need a rerender. The small elements you have, the less you need to rerender, but the more you need to stitch, so it's finding a middleground here. It seems that 256x256 or 512x512 seems to work but we need to actually test this with real pages.

So I'm going to finish up the pipeline by making sure we actually do the painting and compositing of the tiles. Once that is done, we will do some tests and benchmarking, and see how we can incorporate this into our current engine.

rust gosub tiling painting

About jaytaph

Codemuser extraordinaire

avatar Loves building crazy and insane stuff. Happiest when left alone. All I wanted was a Pepsi, just a Pepsi.
Joined:March 24, 2023
Following:2
Followers:2
Posts:55
Comments:3
Upvotes:4
RSS feed