Custom animation class question

I’m creating a basic animation class so I can create animations on-the-fly from the frames on a sprite sheet. That’s all easy, my only question is to what would be more efficient. Creating a timer to fire really often (depending on how many FPS I want the animation to be) or setting a function to run every frame and checking if the animation frame should progress?