top | item 46711265

(no title)

winrid | 1 month ago

Flutter re-generates the entire layout every tick and diffs it (immediate-mode), like a game engine. If your device isn't quite fast enough it'll lag, yep. RN is retained mode (but written in immediate-mode style and the diffing only happens when it has to).

discuss

order

matt_kn|1 month ago

That is absolutely not true. Elements with dirty layouts are tracked and layout is only recomputed up to the neearest layout boundary.

winrid|1 month ago

Weird, it looks like you're right but I recall their early marketing saying stuff like just rebuild the whole layout, it's cheap since it's compiled. They must have meant it's cheap to rebuild as needed haha

realusername|1 month ago

I'd say it's the opposite, on crappy devices, Flutter feels faster than native, not sure how but that's the end result. I've been testing on an old Samsung J3 and it's definitely better than native.

That's also maybe why it's so popular in India.

agentifysh|1 month ago

Flutter is essentially a game engine so it bypasses the typical cycles involved with native widgets and there are several different ways why Flutter works well on lower end phones

SoKamil|1 month ago

Interesting, I didn’t know that it was immediate mode. According to the article [1] though, it now uses rendering engine with Retained Mode due to performance issues.

[1] https://medium.com/@0s.and.1s/flutter-part-iv-skia-vs-impell...

winrid|1 month ago

ah neat, so they rewrote the rendering engine in C++ and exposed it via Dart APIs, as opposed to everything being in Dart.