i'm starting to find that many of my functions are storing/restoring color/origin minimally because otherwise, i might have problems with other functions in my render pipeline starting off from an unknown state.
I've come across this problem to. the solution I'm currently going with is assuming an unknown state and enforcing a known state at entry and not doing any cleaning up afterwards. Since I rely heavilly on inheritance to provide rendering functions (ie. everything that needs to be drawn must extend an Abstract "sprite" class). It doesn't often give any problems.Besides if I remember correctly BlitzMAX checks for redundant state changes before actually changing anything.
is this going to become a performance problem for me ?
Probably not - in either case I wouldn't worry about it until you're done, then if you have performance issues, optimize reactively.