-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
feat: ecsact codegen plugin for optimization #56
Conversation
❌ Found 14 compliant commit and 3 non-compliant commits in b8cecbe. Commit 039dbfb by @Kelwan is not conform to the conventional commit specification :
Commit 6798356 by @Kelwan is not conform to the conventional commit specification :
Commit 631ca1e by @Kelwan is not conform to the conventional commit specification :
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a few small changes. I haven't fully read it yet. I'll need to run it locally and see the codegen.
One thing I noticed is we're not 'preparing' any of the storages on create registry. We need to do that because otherwise EnTT will generate storage on the fly. This could cause an issue if we run anything in parallel or access storage part way through an iteration conditionally.
you can prepare a storage by simply doing registry.storage<T>();
and assign it to no variable. Simply calling storage "prepares" it. We should do that in ecsact_create_registry
.
In the old code it was in init_registry
. As you can see it's 'preparing' each storage ahead of time. It gets called when a registry is created and when it's cleared.
bf3f6af
to
9ccf6a3
Compare
- Removed metaprogramming to reduce compile times - Ecsact file details are now code generated
Co-authored-by: Kelwan <austin@kelway.ca>
No description provided.