There's not much performance hit just by having many keys. However, you don't need to do it that way. You can use interpolation between keys and still get a 12 frames per second (or any framerate) look at runtime. Instead of updating the animation with the time that is passed, you accumulate the time until you have enough for one "step", which is based on the framerate you want to emulate. Eg, see here:
https://esotericsoftware.com/forum/d/11025-changing-refresh-rate-at-runtime-to-mimic-no-interpolation/3
You can see this effect in Spine by unchecking Interpolated
in the Playback view:
http://esotericsoftware.com/spine-playback#Interpolated
Set Timeline FPS
in the Playback view to target a specific framerate.
Note this is about how the animation sees time pass, so it works with all skeletons, without you needing to set keys on every frame. So many keys is not recommended (unless you have better reasons) and would make editing the animation difficult.