Project-Pandora-Game / pandora

https://project-pandora.com
Other
11 stars 2 forks source link

[FEATURE] Support for texture optimisations by trimming dead space #854

Closed Jomshir98 closed 2 weeks ago

Jomshir98 commented 2 weeks ago

References

None

About The Pull Request

Adds support for letting assets define some template points as unused, allowing for reducing layer sizes without active points outside of it (which would cause UV coordinates smaller than 0 or larger than 1 and subsequently graphical glitches). Also adds summary of loaded texture sizes to the Graphics tab (even if it is an estimate, it was shown to be quite precise).

Changelog

Platform changes:
- Quite a few major optimizations altogether reducing Pandora's memory and VRAM usage by roughly 4 times
  - Automatic detection of empty areas in textures
  - Automatic removal of texture areas that wouldn't be rendered anyway
  - Automatic trimming of room device textures not to contain empty padding
  - More fine-grained meshes allowing for greater savings using the above methods

Example effects of the above changes in our testing room:
- Using "Full" texture quality (4K):
  - Before: ~750 MiB
  - After: ~175 MiB
- Using "50%" texture quality (FullHD):
  - Before: ~200 MiB
  - After: ~40 MiB

Checklist