This website requires JavaScript.
Explore
Help
Sign In
Mirrors
/
dioxus
Watch
2
Star
0
Fork
You've already forked dioxus
0
mirror of
https://github.com/DioxusLabs/dioxus
synced
2024-12-18 16:43:21 +00:00
Code
Issues
Projects
Releases
Packages
Wiki
Activity
13239d0e4b
dioxus
/
packages
/
native-core
/
README.md
2 lines
62 B
Markdown
Raw
Normal View
History
Unescape
Escape
Subtree memorization / reactive templates (#488) This commit adds subtree memoization to Dioxus. Subtree memoization is basically a compile-time step that drastically reduces the amount of work the diffing engine needs to do at runtime by extracting non-changing nodes out into a static "template." Templates are then understood by the various renderers in the ecosystem as a faster way of rendering the same items. For example, in the web, templates are simply a set of DOM Nodes created once and then cloned later. This is the same pattern frameworks like Lithtml and SolidJS use to achieve near-perfect performance. Subtree memoization adds an additional level of complexity to Dioxus. The RSX macro needs to be much smarter to identify changing/nonchanging nodes and generate a mapping between the Template and its runtime counterparts. This commit represents a working starter point for this work, adding support for templates for the web, desktop, liveview, ssr, and native-core renderers. In the future we will try to shrink code generation, generally improve performance, and simplify our implementation.
2022-09-30 19:03:06 +00:00
# Dioxus Native-Core: An lazy approach to GUI state and trees
Reference in a new issue
Copy permalink