So recently I went through a perf pass on my renderer where I implemented batching and fun stuff like that. It took me a little bit of work but I got everything working and got some small performance improvements. There's still some perf changes I want to make but I decided not to do them in the short run. I thought all was done on my perf changes and I could concentrate on integrating my new art. Everything was going fine until I decided to try and change from windowed to full screen to see how things looked that way. And of course crash/hang and everything goes to pot.
This is why I want unit tests for all of my systems. This is a simple case of a regression bug do to refactoring and I should have know it right away. For anyone who doesn't believe in having unit tests, ask yourself how many times you decide to change/update your code. Then decide if you're human or not. If you are you're going to break things that you don't know about. How confident are you going to be changing something a week before you ship??