Skip to content
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

Episode 13b: Performance improvements #109

Merged
merged 17 commits into from
Sep 15, 2024
Merged

Episode 13b: Performance improvements #109

merged 17 commits into from
Sep 15, 2024

Conversation

obiwac
Copy link
Owner

@obiwac obiwac commented Jul 26, 2024

This episode is split into two parts, and most of this was prototyped in my mcpy-accelerated repo:

This PR focuses on the performance part. This is what needs to be done:

  • Attach profiler (in practice, comment it out in this repo no need and add it as a dev dependency in pyproject.toml cProfile comes with Python).
  • Set up buildsystem with Poetry's unstable build.py (but looks stable enough for me).
  • Speed up chunk generation (cythonize, C code for the really sensitive bits).
  • Do save chunk caching (as nbtlib is now dominantly slow vs. chunk mesh generation).
  • Load chunks progressively (now that they can be generated in less than a frame's time).
  • Improve performance of entities (colliders (?) and physics engine). In practice that just means the player at the moment, even though mcpy-accelerated also does this for non-player entities (mobs). EP13c (TODO link to PR).
  • CI workflow to make sure all our Cython modules are building correctly.
  • Investigate if this can be integrated and closed: Chunk Mesh Generation Optimization #96. Won't make a difference.
  • DON'T FORGET TO UPDATE CODE TO RE-LOAD FROM NBT IF THERE ARE CHUNK FILE CHANGES!
  • GLM. EP13c (TODO link to PR).

All of this still needs to be done for community, but I'll probably do that last minute before releasing EP13b.

@obiwac obiwac mentioned this pull request Aug 10, 2024
4 tasks
@obiwac obiwac merged commit d482ff6 into master Sep 15, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant