Does the counters/latches increment/updates if spr are visible?
Yes
Only if both BG and sprite rendering are disabled, does the PPU enter its "off" state. If either are enabled, the PPU does it's normal "on" state.
Semi related:
In my emu, I have two seperate renderers, one for when the PPU is on, and one for when it is off. I also keep a "clip" value for BG and sprites, which is either 0 (no clipping), 8, (clipping in left 8 pixel column), or 256 (totally disabled). In my On renderer, once I load the BG and Sprite pixel (but before I do any sprite 0 checks, or do any pixel rendering), I check the scanline cycle (0-340) and see if it's less than the clip value, if it is, I force the BG or Spr pixel to 0, then proceed normally. Makes BG/Spr clipping and disabling nice and easy.
Quote:
In my emu, I have two seperate renderers, one for when the PPU is on, and one for when it is off.
Same here, but it wasn't a big speed gain (though many small optimalisations make one big speed gain
)