Gosub Browser Progress, pt42
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.
About jaytaph
Codemuser extraordinaire

Joined: | March 24, 2023 |
Following: | 2 |
Followers: | 2 |
Posts: | 55 |
Comments: | 3 |
Upvotes: | 4 |
Previous musings
- (1) February 2025
- (2) January 2025
- (2) December 2024
- (1) November 2024
- (1) October 2024
- (1) September 2024
- (1) July 2024
- (2) February 2024
- (3) January 2024
- (3) December 2023
- (4) November 2023
- (5) October 2023
- (10) September 2023
- (8) August 2023
- (1) June 2023
- (1) May 2023
- (4) April 2023
- (5) March 2023