Coder Social home page Coder Social logo

Comments (5)

adamreichold avatar adamreichold commented on August 16, 2024 1

type_ids is ordered in the same way as types, i.e. using impl Ord for TypeInfo which compares alignment, whereas index is ordered by TypeId to perform look-ups by TypeId.

IIRC, the type_ids field itself is only necessary to enable passing &[TypeId] (in contrast to &[TypeInfo]) in component order (meaning as stored in the archetype, meaning as sorted by TypeInfo).

from hecs.

Ralith avatar Ralith commented on August 16, 2024 1

It doesn't. All component arrays are densely packed.

from hecs.

Carlosted avatar Carlosted commented on August 16, 2024 1

Thank you for your time!

from hecs.

adamreichold avatar adamreichold commented on August 16, 2024

(Also note that generally the cost of creating an Archetype should not be too critical as well, since if you have a workload that continuously creates new archetypes, an archetype-based ECS like hecs is probably not a good fit in the first place.)

from hecs.

Carlosted avatar Carlosted commented on August 16, 2024

Okay thank you very much!

If I may follow with an additional question: I have not looked at the code in depth, but it is not obvious to me why the data field stores every Data struct with an alignment of max_align (meaning the biggest alignment of all of the components present in the archetype). I probably do not understand correctly the Data struct, but it seems to me like since every component is stored in a separate array, then we could reduce space usage by using the alignment of every respective component.

from hecs.

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.