thanks! this cab is mostly classic mame, so it's really only ever playing chiptunes originally blasted from not-the-best speakers. it sounds wonderful

i could have maybe used a dedicated low-frequency transducer to give games like asteroids more foreboding bass, but i'd have to incorporate a low-pass filter on the amp and it really wasn't worth the effort imho.
as for the latency - i didn't formally time it, but it was certainly noticeable on more intense games. note that i'm only referring to
button latency from specific interfaces; directly wiring buttons to the pi's GPIO pins vs. a separate, dedicated keyboard encoder (in my case, a pro-micro arduino programmed using a low level pin interrupt library, similar enough to the cheapy keyboard encoders you'll find on ebay). though you can access and attach hardware interrupts on the pi's GPIO pins, they have a lot of competition with the rest of the system. even with USB HID overhead, the arduino was faster and more consistent at reading and sending inputs to the pi. the reason i used an arduino was that it's cheap, and i wanted a dedicated game exit button. the retroarch emulator shell that retropie runs uses combo hotkeys for functions like game exit, and while i provided a shift button for other things like pause and save/load state, i wanted something as important as exiting a game to be blatantly obvious. so my arduino code sends shift + exit game hotkey when you press that button.
the pi 3 itself is plenty beefy for loads of crazy games, even notoriously sprite-heavy, newer japanese shmups like dragon blaze given the right emulator core. it took some experimentation to find which of the cores that come stock with retropie worked best with each rom and rom version. it's not beefy enough to run a PSX emulator for sure, though dolphin (GC/Wii emulator) has gone through some crazy optimization in the last year or so and may be fine.