It will also halve on the MMX3 level select, but neither are really critical for playing at least.
I now use GCC 4.5 for C++0x/lambda support. Unfortunately, OpenMP support is broken in the new releases. That means I can't multi-thread HQ2x anymore. Once it's fixed in the compiler, I will add this back.
Why not? The SNES is more than one CPU. Also, bsnes only uses one core. It can't actually use more than one due to the overhead caused by user->kernel transitions. That only works on low-synchronization parallel processes, like video encoding or modern console emulation.
I can promise you however, the code is as optimized as it can possibly be. The #1 determination of emulator performance is not the primary CPU processor speed, but rather how many times you synchronize components to each other. Compare ZSNES to bsnes:
Synchronization primitives per second of emulation:
S-CPU: 600,000 vs 21,477,272 (note: 3.58MHz is a measure of cycles; ZSNES syncs opcodes, bsnes syncs bus hold delays)
S-SMP: 256,000 vs 24,576,000
S-DSP: 32,000 vs 24,576,000
S-PPU: 15,720 vs 21,477,272
Total: 903,720 vs 92,106,544
bsnes is literally, honest to god and no exaggerations, over 100x more precise. It cannot possibly be any more precise, period. That it is less than 10x slower despite being 100x more precise and in a higher-level language is a testament to the optimization work I have done. Please note that not even PCSX2 and Dolphin synchronize anywhere near as much as bsnes does.
Does it matter? Not for newer consoles. But for the SNES? Yes, if you want 100% compatibility with zero bugs and zero hacks. Nothing less will do without breaking at least a half-dozen obscure games. You may not care about those games, and that's fine, you don't have to. Snes9X v1.53 is a great choice in that case, I highly recommend it.
How many people keep FLACs instead of MP3s? JPEG photos instead of PNGs? DVDs instead of raw video? bsnes is basically the same thing. There's perfect, and there's close enough but efficient. I don't care or judge which you prefer, but please don't consider my software "less-than" just because perfection has monstrous requirements =)
I'm interested in preserving the SNES long after it's gone, not in playing games today, although the latter is still quite practical on high-end CPUs.
Nesticle ran at full speed on a 25MHz 486, back when the P166 was king.
Nestopia is now the #1 emulator, and it requires 800MHz. Nintendulator is more accurate, and requires 1.6GHz, but suffers popularity issues because it is so highly Windows-dependent and less polished. Imagine if either were released back when a P166 was king? If you think bsnes takes flack now, oh boy.
It's a common pattern. When your PC is fast enough for 60fps bsnes play, it's magical. Everything always, always just works. But when the framerate dips below 60fps even once, most people go on tirades on forums. Not saying you were, mind. Most people do though. They will say the emulator is too slow. But software has no intrinsic speed.
Back when P166 was king, we never imagined a day when everyone could easily run Nestopia at 800MHz. The same will hold true for bsnes' requirements, eventually.
True. This is a side effect of locking the window scale multiplier. I found more people were upset with trying to resize the window to perfect multiples by hand, than by not being able to run in maximized mode. The latter usually run fullscreen (hides taskbar) instead. But if you prefer maximized mode, v070 is better for that.
Please see above.
We may not think it needs those system requirements, but it does. If you cut anything out of bsnes, you will start breaking games. That doesn't even get into the debate of whether or not to emulate behaviors that commercial software never used.
I believe that if you rewrote the code in pure non-portable x86 ASM, and sacrificed all source code readability (and thus maintainability), you may be able to eke out another 50% performance with identical accuracy. But you must also realize that the code clarity is a large part of how I managed to reach 100% compatibility in only seven years. Give someone an unreadable mess of black magic to improve and maintain, and you'd need someone with twice the IQ and five times as much time on their hands to make it all work as well.