badlogic,
@badlogic@mastodon.gamedev.place avatar

With Spine 4.2 done and released, I dorked off yesterday and built a Spine runtime for Android. It's a plain old Android View, using the Canvas API for rendering.

I'm lazy, so I went straight with the spine-libgdx runtime as the base. That's written in Java. All of it. And yet, this little thing screams (especially compared to the competition in the mobile app animations space, which is written in C++)

The renderer is 200 LOC, batches and doesn't generate any garbage that'd trigger stuttering.

image/jpeg
image/jpeg
image/jpeg

badlogic, (edited )
@badlogic@mastodon.gamedev.place avatar

ART, the VM running your Java/Kotlin code, has come a long way. Those little terrible loops scaling uvs and building up the colors "array" don't really make a dent in the frame time. Which is nice, cause they are very icky.

Sadly the Android Canvas API requires me to submit vertices in an unpacked way. Skia also does a copy natively. Still fast and efficient enough, easy to maintain, with great compatibility

With the PoC out of the way it shouldn't take long to get this into a shipable state.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • mdbf
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • InstantRegret
  • everett
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • khanakhh
  • Durango
  • kavyap
  • ethstaker
  • megavids
  • anitta
  • modclub
  • osvaldo12
  • normalnudes
  • ngwrru68w68
  • GTA5RPClips
  • tacticalgear
  • provamag3
  • tester
  • Leos
  • cubers
  • JUstTest
  • lostlight
  • All magazines