-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make bevy extension crates opt in #128
Comments
As far as I know, the only crate that can actually be a bottleneck is
|
What I could do, is not depend on |
I think the problem is not with bevy crates themselves, but dependencies that they depends on. For example bevy_math depends on large glam math crate. In couple of days I will probably try to integrate this crate in my partial bevy usage case again and will try to prepare minimal PR where the different bevy crates and their type addition are under |
I'm open to making every crate optional that can be entirely removed from the dependency tree (so making bevy_asset optional wouldn't make sense). |
bevy_log, bevy_math, bevy_asset and other crates and their type registrations aren't always needed if partial functionality, minimal functionality of bevy is used.
As all crates by default are included, project compilation has large overhead, as these types are registered in type system I believe that part of them are not optimized out and causes overhead during runtime.
Make type registration not strict, at least now when registering new ui value representations, if type is not registered, it raises panic. Strict validation causes that all plugins need to be added to bevy app for this library to work.
Make additional bevy libraries and their type registrations optional to reduce compilation time overhead.
For default use case, extension libraries can be added to default-features.
Thanks! This is a very nice library.
The text was updated successfully, but these errors were encountered: