Compare frames based on bounds as well.
Opened this issue · 2 comments
Zoe uses the origin to compare frames to one another for frame reuse. This makes the most sense in a variety of cases, but it means it fails to reuse frames when the only change is a graphic translating (x,y). For example, an animation of a bouncing ball could be reduced to a single image frame, and a series of frame definitions with varying regY.
It would be nice if Zoe could also check for frame similarities based on the bounds of each frame (possibly aligning from the center, to reduce the impact of antialiasing). It would double the performance cost, but would likely be worth it.
We've been using workarounds for this bug for years, just found this thread and it would be great if we could get a fix for this 😄
@Tom-Sesselmann
Sorry Grant, I promise this is the last time I'll try to steal the spotlight! But I released a project recently called SpriteSatchel that's an alternative to Zoe which might help. It can handle frame-re-use fairly well when translating, especially if you are using whole number positioning. Only catch is that it requires a slightly different method of organizing your animations (a more preferable way imo), you may want to have a look:
https://github.com/cleod9/spritesatchel