Blish-HUD icon indicating copy to clipboard operation
Blish-HUD copied to clipboard

Rewrite ContentService

Open dlamkins opened this issue 3 years ago • 0 comments

Currently, Core's ContentService is unwieldy as it was the very first service and is not well put together. The service should be re-written with the intention to:

  • better manage all forms of content (not just textures with audio tacked on).
  • Act as a base for the ContentsManager that modules rely on (instead of essentially being a poor duplicate of it).
  • Utilize more of the DataReaders and pulling information from the ref.dat instead of relying on MonoGame content files.
  • Reduce the reliance on the MonoGame content handling in general and instead manage those resources ourselves to reduce the extreme memory overhead of caching every texture that gets loaded.
  • Better integration with the GW2 Render service / assets.gw2dat.com (including local caching of downloaded assets).
  • Ownership of content caching and potentially audio settings.

The ContentService itself would likely manage the asset caching with ServiceModules managing the individual assets types more directly. For instance, an audio ServiceModule could manage all audio resources while also taking ownership of audio settings presented to the user.

dlamkins avatar Nov 06 '20 08:11 dlamkins