aerys / minko

3D framework for web, desktop and mobile devices.
http://minko.io
Other
905 stars 210 forks source link

iOS 8 WebGL support #165

Closed unicomp21 closed 10 years ago

unicomp21 commented 10 years ago

Is this being covered as well?

warrenseine commented 10 years ago

Yes, but be careful about memory restrictions on mobile browsers.

unicomp21 commented 10 years ago

Any idea the instruction count limits for vertex/pixel shaders on webgl/ios8?

On Sun, Jun 29, 2014 at 12:00 PM, Warren Seine notifications@github.com wrote:

Yes, but be careful about memory restrictions on mobile browsers.

— Reply to this email directly or view it on GitHub https://github.com/aerys/minko/issues/165#issuecomment-47458739.

JMLX42 commented 10 years ago

I have no idea about the limitations on iOS8 except one of them: javascript memory limit. The sad thing is that even if WebGL is enabled, the available JS memory seams to be still quite low...

Currently, I'm not sure even a single ASM.js app can run since the JS limit is something like 10MB.

Anyway we've started optimizing the engine a LOT for the beta 3. Maybe that will make things work easier...

JMLX42 commented 10 years ago

FYI we've made big progress regarding general performance and memory usage. It should come with beta 3. You can read more here:

http://minko.io/forums/topic/performance-improvement/

We're already successfully running actual 3D game using WebGL on Android on both Firefox mobile and Chrome mobile. This performance improvement should make it possible to target Safari mobile too.

Regards,

unicomp21 commented 10 years ago

Excellent, is there index db support?

On Friday, August 22, 2014, Jean-Marc Le Roux notifications@github.com wrote:

FYI we've made big progress regarding general performance and memory usage. It should come with beta 3. You can read more here:

http://minko.io/forums/topic/performance-improvement/

We're already successfully running actual 3D game using WebGL on Android on both Firefox mobile and Chrome mobile. This performance improvement should make it possible to target Safari mobile too.

Regards,

— Reply to this email directly or view it on GitHub https://github.com/aerys/minko/issues/165#issuecomment-53037960.

JMLX42 commented 10 years ago

I don't know. But that's a Safari issue, not a Minko one. We just ran the benchmark linked above on iOS 8 and it runs perfectly. I'll update the forum post in a few minutes with the score for iPad 4 + iOS 8.

unicomp21 commented 10 years ago

What I meant was does Minko or Emscripten have a localstorage concept for caching stuff in the browser?

On Fri, Aug 22, 2014 at 9:11 AM, Jean-Marc Le Roux <notifications@github.com

wrote:

Closed #165 https://github.com/aerys/minko/issues/165.

— Reply to this email directly or view it on GitHub https://github.com/aerys/minko/issues/165#event-156058099.

warrenseine commented 10 years ago

Minko doesn't per se, but you can totally leverage any native API from Minko. Emscripten already provides many bindings for interacting with the browser.

Regarding IndexDB specifically, Emscripten can package assets with cache in mind, using --use-preload-cache. As documented:

If set to True, IndexedDB (IDBFS in library_idbfs.js) is used to locally cache VFS XHR so that subsequent page loads can read the data from the offline cache instead.

I don't think that's enabled in Minko at the moment, but we'll sure have a look into it. Logged internally as #3861.

unicomp21 commented 10 years ago

Thanks Warren! I'm computing the assets locally in the browser, to minimize download size. Looks like IDBFS is what I need.

On Sun, Aug 24, 2014 at 5:22 AM, Warren Seine notifications@github.com wrote:

Minko doesn't per se, but you can totally leverage any native API from Minko. Emscripten already provides many bindings http://kripken.github.io/emscripten-site/docs/api_reference/emscripten.h.html for interacting with the browser.

Regarding IndexDB specifically, Emscripten can package assets with cache in mind, using --use-preload-cache https://github.com/kripken/emscripten/blob/master/tools/file_packager.py. As documented:

If set to True, IndexedDB (IDBFS in library_idbfs.js) is used to locally cache VFS XHR so that subsequent page loads can read the data from the offline cache instead.

I don't think that's enabled in Minko at the moment, but we'll sure have a look into it. Logged internally as #3861.

— Reply to this email directly or view it on GitHub https://github.com/aerys/minko/issues/165#issuecomment-53185338.