The goal of this change is to be optimize frontend rendering performance when there's a large number of updates available.
This is done by using Vecty to be able to make incremental changes to the current page, rather than having to re-render the entire page from scratch for each update.
Another technique that's used is to create a scheduler. Its job is to batch many update operations that occur rapidly one after another, apply them all, and perform a re-render just once. This helps because rendering the entire page once is faster than doing as many renders as there are updates.
There is still many WIP and development code left commented out, it will be used and cleaned up over time. Some of that is waiting on a resolution to https://github.com/gopherjs/vecty/issues/92. /cc @slimsag FYI.
The goal of this change is to be optimize frontend rendering performance when there's a large number of updates available.
This is done by using Vecty to be able to make incremental changes to the current page, rather than having to re-render the entire page from scratch for each update.
Another technique that's used is to create a scheduler. Its job is to batch many update operations that occur rapidly one after another, apply them all, and perform a re-render just once. This helps because rendering the entire page once is faster than doing as many renders as there are updates.
There is still many WIP and development code left commented out, it will be used and cleaned up over time. Some of that is waiting on a resolution to https://github.com/gopherjs/vecty/issues/92. /cc @slimsag FYI.