Study & demos of browser based reX client techs

79 views
Skip to first unread message

Toni Alatalo

unread,
Mar 1, 2012, 3:02:29 AM3/1/12
to realXtend, realxt...@googlegroups.com
Hi,

as mentioned in some emails earlier, and on IRC, we've been continuing work towards a browser based realXtend client here at Playsign.

We made a research report and a set of demos / tests with both WebGL and the new hardware accelerated 3d support in Flash11 (Stage3d) in December-January. There is now a public version of the report, suitable for generic realXtend planning. Also most of the demos are on-line now as public generic versions, without customer sensitive data.

The public google doc, "Browser Based realXtend Client Technologies": https://docs.google.com/document/pub?id=1MEJ25wK_tjuDcXlgKVa9jsxRYLOTPGusX4pybGBn_DM . It's also linked to & embedded in http://www.realxtend.org/webnaali/research/, just to have a simpler address too.

The different demos are explained in the doc with screenshots, and a list of all the demos is gathered at the end.

Any feedback is very welcome -- it's a draft, open for a first round of comments. Especially interesting I think is views on what technologies would serve best the needs that you have in your own projects / products -- what browsers should be supported, how critical is it for users not need to install anything, what features are required etc. I'll post something to the website/blog too, after this initial round for comments.

We have a little meeting about possible future work in this area with tomorrow on Friday at the university as CIE has expressed interest. I will also talk with Jukka about how he sees the situation after doing tests with the native Tundra plugin again back in December. As mentioned in the intro of the doc, it might be a good idea to include an analysis of that route to the same tech comparison.

After the initial research we have now been working on one specific application, using Flash with Away3d now (is a normal commercial service where is good that works out of the box also for Internet Explorer users). The first step in that app is without networking otherwise, but we are using XMPP for chat -- tested both Flash (with the xiff lib) and HTML+JS (with strophe.js) clients succesfully. We could add a section about xmpp/chat things to the report too.

The old WebNaali 0.1 demo with WebGL + WebSockets and actual Tundra connectivity (http://realxtend.wordpress.com/2011/08/30/webnaali-demo-on-line/) has also been ported so that it works again with current browsers (with the final websockets spec) and against Tundra2. There is no on-line demo now, but the functionality is the same as in the video. I'll put the demo up again at some point when have time and can arrange a suitable server somehow.

~Toni

Jukka Jylänki

unread,
Apr 19, 2012, 4:18:00 AM4/19/12
to realxt...@googlegroups.com
Had a read through the document, and it looks like it focused on browsers
on desktop platforms only. Outside this research, have you tried how the
different technologies are supported on browsers on Android and iOS (and
possibly other) mobile platforms?

Toni Alatalo

unread,
Apr 19, 2012, 4:56:29 AM4/19/12
to realxt...@googlegroups.com
On Apr 19, 2012, at 11:18 AM, Jukka Jylänki wrote:
> Had a read through the document, and it looks like it focused on browsers on desktop platforms only. Outside this research, have you tried how the different technologies are supported on browsers on Android and iOS (and possibly other) mobile platforms?

Yes, more recently - we could update the report to include that.

With Adobe's tech this became possible at the end of February, when their Stage3d HW acceleration support came out in the release candidate of the AIR runtime. It was in closed beta when we did our research and we didn't ask then to be a part of it. Some Away3d devs were in I think.

We made a build of that proprietary Away3d using client for iOS in March, and once all the configurations to get the hw acceleration enabled were made correctly, it worked out of the box. Also the XMPP networking, so avatars show and the chat works etc.

The scene is not optimized so the memory is the bottleneck on small & old devices. Otherwise it does run e.g. on my iPhone 3GS which has 256MB memory. iPad3 has 1GB mem and there the full scene runs without any modifications. For the old iPhone I have a version where most of the scene geom with big textures is disabled, and then it runs ok. Rendering is choppy when something new comes to the scene (on all devices), but otherwise seems smooth.

We haven't tested on Android devices yet, but expect similar results (i.e. that it works well enough for light scenes at least).

Also after that report, an alternative Flash 3d engine was open sourced: Alternativa3d. This is very recent, they did it at the end of March. It used to be a closed one. Made by a professional team in a company in Russia, very cool looking screenshots at least, but we haven't tested it yet. Away3d's rendering / mainloop behavious is not too convincing, the FPS basically always fluctuates -- but the API is quite complete and has been nice to dev with (has path animation utils etc.). Would be interesting to know how Alternativa's rendering compares, also on the mobile devices.

WebGL is AFAIK still not enabled by default on any mobile device. At least talks are that because of performance probs which I'm sure Google and Apple and friends have been addressing, perhaps something comes out at some point. Some individuals have tested WebGL at least on Android and perhaps with WebKit builds on iOS too but I'm not sure if they even got to use HW rendering then.

One point is that on mobiles people are used to installing apps anyway, and also the Flash/AIR client is deployed as an installable app. So a main point of a browser solution -- requiring no installation -- is moot. So a fast native renderer (e.g. Ogre with batching or something else) could be a good solution. I have a couple Ogre apps in my iPhone too and they work pretty well with the small scenes (one is a game from appstore and the other a self-built simple multitouch+scene test from Erwin's Gamekit (Ogrekit) which loads .blend files).

OTOH it sure is nice how with Flash/AIR things just run seemingly identically in both all browsers and mobile devices with no extra work. The compiler is open source and there are open source dev envs etc. so perhaps suitable for a realXtend client tech, even though the runtime is closed (also Windows and Mac runtimes are closed so opensource-wise the situation is similar to running Tundra on those).

~Toni

> --
> http://groups.google.com/group/realxtend-dev
> http://wiki.realxtend.org
> http://dev.realxtend.org

Jukka Jylänki

unread,
Apr 20, 2012, 3:24:04 AM4/20/12
to realxt...@googlegroups.com
I ran a test of WebGL support on the San Angeles demo found here.
http://www.khronos.org/webgl/wiki/Demo_Repository . That is a particularly
interesting test since the exact same demo is available as native code for
Android in the Android NDK samples.

Two Android tablet devices, Acer Iconia A500 (Android OS 3.2.1) and Asus
Transformer Prime TF201 (Android OS 4.0.3) were tested. iPad version 5.1
(the new iPad with retina display) was also tested.
The Acer Iconia A500 is an "older-gen" Tegra2 device. The Asus Transform
Prime TF201 is a new generation Tegra3 device.

Results:
Android built-in browser (WebKit) - WebGL is not supported.
Android Opera browser - Works.
Android Dolphin browser - WebGL is not supported.
iPad Safari browser - WebGL is not supported.
iPad Mercury browser - WebGL is not supported.
iPad Dolphin browser - WebGL is not supported.

The San Angeles demo was then compared for performance. The figures were
_visually_ estimated, since the demo does not have a FPS counter. The demo
was run side-by-side on the two devices so that at least the figures can
be relatively compared.
Acer Iconia A500 San Angeles Native Demo: ~20fps
Acer Iconia A500 San Angeles Opera WebGL: ~4fps
Asus Transformer Prime TF201 San Angeles Native Demo: ~40fps
Asus Transformer Prime TF201 San Angeles Opera WebGL: ~1-2fps

It was interesting to note that the older Tegra2 device actually runs the
WebGL demo faster than the new Tegra3 device. In any case, this quick test
confirms WebGL is not maturely adopted in the tablet sector.

Jukka

Reply all
Reply to author
Forward
0 new messages