Git Product home page Git Product logo

Comments (3)

mootw avatar mootw commented on September 5, 2024

created reproducible example. it seems to be related to dynamic update, and creating full sets of new polygons each build

mootw@52c347d

there was some discussion and i think its important to note a few things:

  • what things should trigger new state or modifying state. these checks need to be efficient (as in fast enough to be worth it over just rebuilding each time). in some cases it is OK to rebuild every time and not cache.

  • I had to use UniqueKey() in my workflow after changing from 7.0.0 -> 7.0.1 to restore some of the performance (UniqueKey skips the didModify widget checks which rebuilds the entire state every time and caches it. but the cache is obviously never used.) this resulted in performance somewhere between 7.0.0 -> 7.0.1 without any changes to my code.

  • I think this use case is fairly normal and a user could expect to change the values regularly. Im generally avoidant of micro-optimizations as they can often result in performance trade-offs that are not worth it OR might require strong documentation.

  • how can we make the polygon/polyline widget build behavior consistent and expected. i believe that #1904 was created to help maintain consistent behavior (see #1894 which it fixed), however at a huge performance cost. I want to look at a way to maintain good/expected behavior without adding too many checks in the way.

from flutter_map.

mootw avatar mootw commented on September 5, 2024

https://pub.dev/packages/collection
^
use this for list equality

from flutter_map.

josxha avatar josxha commented on September 5, 2024

fast_immutable_collections could be interesting as well because it caches the hashCode of its list types.

from flutter_map.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.