Hard Requirements
- HTML5 Canvas API for display
- WebAudio or Moz Audio Data API or Flash Plugin for audio.
Multi-threaded Emulation
- Webworkers for thread creation
- SharedArrayBuffer API for cross thread communication.
- Futex/Atomics API that was written with the SharedArrayBuffer API.
Semi-Hard Requirements
- Typed Array API support.
- Won't really run well at all if it's not supported.
- It's shimmed, but has fast paths that are effectively necessary.
- Audio
- The flash fallback is subpar and doesn't work well on most browsers.
Full Speed Runtime
- Firefox ~38+ & Safari 10.1+
- With Multithreading
- 2.4ghz Core 2 Duo
- 1.2ghz Skylake CPU
- Without Multithreading
- 2.8ghz Core 2 Duo
- 1.4ghz Skylake CPU
- Google Chrome
- With Multithreading
- 3.6ghz Core 2 Duo
- 1.8ghz Skylake CPU
- Without Multithreading
- 4.2ghz Core 2 Duo
- 2.1ghz Skylake CPU
- MS Edge
- 5ghz Skylake/Kaby Lake (It's that slow)
Yes, you're reading it right, Skylake/Kaby Lake CPUs are twice as fast as a Core 2 Duo (Penryn 3MB cache model tested) CPU at the same clock speed.