Requirements

Grant Galitz edited this page Jun 27, 2017 · 20 revisions
Clone this wiki locally

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 (6700k) CPUs are twice as fast as Core 2 Duo (P8600) CPUs at the same clock speed running this emulator. Firefox as old as version 4 can run this, but I don't recommend anything older than version 25 to get within 80% speed of the latest firefox. Safari versions older than 10.1 get exponentially slower for each version further back you go.