Given the improvements in both correctness and the readability of the code (having everything in the PPU struct helps a lot here) I'm not too concerned about performance.