8Fermer10
TigerskunkLe 02/09/2021 à 12:24
totologic (./3):
CosmicR (./1) :
I did this once before : I had 21 sprites side by side and every time one went off the left-side of the screen I would move it to the right side of the screen. It worked fine but it wasn't very efficient because I would move each individual sprite to the left one by one.


Actually, even with an optimal solution, it is important to execute it immediatly after VBlank interrupt to avoid a naughty tearing effect.

Hmm, I get A LOT of that tearing when I just (tried the laziest method first) assign all my objects including the background to new sprites each frame.
Does that mean, the further away you get from that Vblank moment while assigning tile adresses in the Sprite control blocks, the more tearing you get? : )

Googling this, I haven't found any real explanation on how the Neo Geo is assigning stuff, unfortunately. Only that you should do this in VBlank.

I rebuilt my "engine" now to have Sprite 0 to 21 as background, and only do that sprite reordering on all the rest of the objects. Which leads to a lot less of that tearing, but still noticable here and there.