CreateJS / PreloadJS

PreloadJS makes preloading assets & getting aggregate progress events easier in JavaScript. It uses XHR2 when available, and falls back to tag-based loading when not.
http://createjs.com/
MIT License
2.88k stars 761 forks source link

Sound loading is extremely slow on the NEXT version #33

Closed korinVR closed 11 years ago

korinVR commented 11 years ago

Looks like sound loading of the NEXT version is extremely slow on the web server. Here is a test case which loads 10 MP3s.

http://geoquake.jp/experimental/PreloadJSTest/test_prev.html http://geoquake.jp/experimental/PreloadJSTest/test_next.html

archive: http://geoquake.jp/experimental/PreloadJSTest/test.zip

on the URLs above

test_prev.html: Chrome 24(Windows 8): 293ms IE10(Windows 8): 39ms Safari(Mac): 64ms

text_next.html: Chrome 24(Windows 8): 1078ms IE10(Windows 8): 4339 ms Safari(Mac): 1564ms

on the local Apache

test_prev.html: Chrome 24(Windows 8): 90ms IE10(Windows 8): 48ms Safari(Mac): 77ms

text_next.html: Chrome 24(Windows 8): 886ms IE10(Windows 8): 4089 ms Safari(Mac): 198ms

Cheers, Katsuomi Kobayashi

lannymcnie commented 11 years ago

This is probably because up until SoundJS 0.3.0, HTML audio was the default, and it only preloads enough of the audio to playback the whole file at the current download speed. The NEXT version defaults to WebAudio, which actually preloads the entire file. This could be why it seems like a longer download, especially with large files.

korinVR commented 11 years ago

I understand the Web Audio case.

But what about the case of IE? IE does not support the Web Audio API. Taking 4 seconds to download total 1.28MB is odd, even on the localhost.

And I confirmed this phenomenon occurs even with 3KB MP3s. It also takes 4 seconds to download total 30KB on IE9/10. I feel this is not normal.

I also found that Sound.registerManifest does not suffer from this slowness so looks like I can work around the problem by using it.

Thanks.

lannymcnie commented 11 years ago

I am not sure what is causing that. We did not change how audio is loaded (technically) using HTML audio between the last version and the current version. Something else might be happening - we will look into it.