~/talk

Using React to Build Performant Game UIs in Minecraft

Talkat React Advanced 2021 · 2021-10-22..10-23· [react, web-performance]
speakerdeck:pirelenito
slides:none on file

Uses React but skips React reconciliation by introducing facets lightweight observables that flow from the C++ game engine into a custom renderer (react-facet-dom-fiber) so DOM props can be facets instead of unpacked state. Implemented remote sync, use_remote_facet and use_facet_map, and fast div/span host components. Result: massive speedups — 32% of the time on Xbox One for simple updates and down to 12% for big lists, and the system ships (achievement screen rolled out in production for Minecraft Bedrock Edition).

AI-written summary · about

  1. 0:00Introduction
  2. 1:20Why Web Standards
  3. 2:45GameFace
  4. 3:45Performance
  5. 4:08State Management
  6. 6:57Global Store
  7. 7:17Javascript Ecosystem
  8. 8:07Defining the facets
  9. 10:58Handling performance
  10. 11:57Updating text nodes
  11. 16:03Customizing the progress bar
  12. 18:20Performance comparison
  13. 20:29GitHub repository
  14. 21:48Summary
  15. 22:08Packages
  16. 22:31DOM Components
  17. 22:58Outro
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.