This PR fixes performance issues I noted in testing various 1.12 instances where sprite ticking can take up a substantial portion of client tick time. Now only sprites that are actually active get ticked, and they are stored in a data structure which is much more efficient to iterate.
Synchronizing the set is needed as mods can reload texture data from background threads (e.g. HEI when building the color search tree).
This PR fixes performance issues I noted in testing various 1.12 instances where sprite ticking can take up a substantial portion of client tick time. Now only sprites that are actually active get ticked, and they are stored in a data structure which is much more efficient to iterate.
Synchronizing the set is needed as mods can reload texture data from background threads (e.g. HEI when building the color search tree).