8th Wall - Performance across devices, 8th Wall vs Other solutions

¡Hi!
This is my first post here, but I hope it’s not the last one.

I had quite a big and challenging project with 8th wall a couple of months ago. It started as an image tracking project that ended up becoming a surface tracking solution. We were trying to scan a metallic can that had many reflections and there was no amount of workarounds that were enough to make the target stable.

I’m unable to share any more details because of an NDA, but even tho I was the main developer, a more experienced developer also worked his ass off trying to solve this using complex shaders and trying to bypass the 8th Wall camera, but we had to give up.

So, besides this, and apart from browser incompatibility in many features regarding the experience, which is basically an everyday thing for us web/xr devs, I also noticed that 8th Wall performs extremely different in different devices an OS, being iOS - as usual - the best option, so I was wondering if any of you had any insight in how to improve performance across devices, and general do’s and don’ts with 8th Wall so I could keep in mind for future projects.

I was also wondering if you think there’s a better option for WebAR, maybe depending on the solution.

Thanks a lot!

2 Likes

Welcome to the Lab @xochiworld!

Regarding Target tracking on metallic surface
It’s quite a tricky one to start with, let me explain why, maybe you can explain that to your client and find an alternate.

From what I know, Image tracking technologies are different from one platform to another, essentially link to image recognition and Machine Learning models on which we rarely have visibility.

This being said, we did a comparative study between Spark AR target tracking technology and Lens Studio image tracking technology.

The one redline between all the techs I’ve been playing with regarding image tracking is that the tracker shouldn’t be reflective because the image you insert in your code is a 2D flat texture, non-affected by reflection. No matter if you play with Spark AR, Lens Studio, 8th Wall, Vuforia or other techs…

The reason behind that is pretty simple if you look at it from the standpoint of the soft: it’s difficult to ask the soft to recognize the same image with reflections because actually the refections makes it a different 2D image than the one you’ve set to be recognized in your code base. Additionally, when you move around the lights reflections move too so it’s really difficult to tackle this.

One way that could eventually work would be to do a multiple image tracking with many images of your tracker. From different and at different hours, to get all the lighting possibles… Tedious work for a most probably unstable result, doesn’t even worth the try in my opinion. I can see one or two really longshoty ways, bottomline seems more reasonable to tell the client that the technology just brings limitations that needs the experience to change to a non-reflective target tracker.

Regarding the cross browser capabilities
I think 8thwall is powered by Webxr API so you should look into browser capabilites regarding WebXR API :slight_smile:

Hope this helps! I’ll follow up with the comparative study of image tracking on Spark and Lens when we have something shareable :wink:

1 Like

I had not yet problem in terms of capabilities between android and ios,

for me the problem is more about performance issues, but like it really depends on your project, I would say recomand the user to have more than 4GB or RAM and iphone X or more.

Aslo because of performance issues, I would not recomand using complexe custom shaders at all as they will make your phone burns haha.

1 Like

I’ve only worked on a few 8th wall projects, so I don’t have deep knowledge of the quirks. I will say that the 8th wall Slack was super useful during my time on those projects. It might take a day to get a response, but overall the 8th wall team was really helpful.

Aside from that, I tested early and often on device. I didn’t want to dig myself into a device compatibility hole. There were some weird differences in how the mic input and speaker output is handled on iOS and Android, but in the end it was an OS behavior unrelated to 8th wall.

In terms of creative potential, I haven’t seen anything like Spark or Lens Studio for the web. I know there are whispers of web publishing for Spark, but nothing official yet.

1 Like

8thwall team pointed us to this when I asked on their slack:

1 Like

Some more infos coming from Ian Curtis of 8thwall team on this thread on their Slack Channel

Development for cross browser is essentially the same, what may differ is the performance capabilities of each device. i.e. If you run chrome or safari on the newest iPhone both will have great fps.

As expected newer devices will be able to render higher quality 3D files + video at faster fps than older devices.Something to recommend would be to create some logic in your experience that receives the type of device and pulls different resolutions of assets for the specified device.

So, for the iPhone 12 (iOS) or Galaxy S21 (android) you would have your experience load the extra high quality assets, then for users with an iPhone 6 or older android device, you could send a lower quality assets. This will make sure that the frame rate stays exceptional for all these devices.

You can take a look at this documentation.

You do not need to have super HD 4K textures as this will be run on mobile devices so I would suggest making sure your textures are 512x512 or 1024x1024.

You can also use our newest “Debug” feature which will show many helpful techniques and fps during device testing.Advanced Cloud Editor Development Techniques (Live Learning: Session 11) - YouTube anyone has any further questions please have them reach out via our Slack Channel and or email support@8thwall.comFeel free to share this information via the thread. (modifié)

1 Like

Wow! This is amazing guys, thank you so much for the warm welcome, and for all the insight!

The metallic image tracking was indeed a technology limitation. We tried our best, and yes, we even tried using multiple image tracking images with different lightning. I hope to save someone some valuable time by letting you know it didn’t make the experience stable enough for commercial purposes.

Great to see 8th Wall has a support team on Slack, joined already!

And also looking forward to see those whispers of web publishing for Spark, that’d be sick!

2 Likes