Skip to content
brion edited this page Sep 28, 2014 · 4 revisions

Device specs

  • SoC: Apple A7
  • CPU ISA: armv8
  • CPU cores: 2
  • OS: iOS 8.0.2
  • Browser: Safari

Browser features

  • Uint8ClampedArray: yes
  • Uint32Array view on top of CanvasImageData buffer: yes
  • Web audio: yes (but must start audio from a user input event)
  • WebGL: yes
  • Workers: yes (test me)
  • Transferable: yes (test me)

Status

Video decode performance is surprisingly good -- the 640x360 'Jarry' metro video hits the decode speed target and looks very pretty. Larger videos run too slow. 160p videos run pretty smoothly without disrupting audio much; sweet spot may be somewhere in the middle.

Have worked around the arm64 Vorbis audio decoding bug by upgrading to emscripten-fastcomp. Audio now plays since we set up audio in a playback handler, though the exact details may need munging.

WebGL drawing reduces colorspace conversion overhead enough that 480p plays as well.

Testing

CPU usage can be measured by firing up Instruments from Xcode and reattaching it to the Safari process. Need to confirm this works smoothly and can report per-core info.

Safari web contents can be debugged remotely via Safari on a Mac; but like on OS X opening the debugger seems to disable the JIT and really slows down execution.