Considerations for 32 bit browser compatibility?

Hi everyone,

I’m not sure how many potential users of 3D web apps still use 32-bit browsers out there. (If you’ve got some intel, I’m interested btw).

Assuming this target is still relevant in 2020, and with 3D, scientific applications in mind (i.e. data accuracy is important), is there anything to keep in mind when developing such web application? (data format, resource management, performance optimization …)

I’ve only worked on fairly standard web apps in the past, or on scientific desktop applications where one could assume 64 bits all the way. In other words, I never had to care too much about 32 vs 64 bit subtleties until now :slight_smile:

Thanks!
/JB

As far as I know there should be no difference between the two except for arithmetic calculations. JavaScript will work the same in both, and as the browser abstracts opengl for us, it should work the same no matter what architecture you are using.

I’m also pretty sure we only use Float32 arrays, but don’t quote me on that :smirk:

Would be interesting to test thou

Thanks @RaananW !
I tried to search for an answer on the web before posting my question and didn’t find anything obvious, which tends to support your view :slight_smile:

I just ran a quick search for Float64Array in Github and it seems to be used only once in gltf_validator.js :
https://github.com/BabylonJS/Babylon.js/search?q=Float64array&unscoped_q=Float64array

I thought about it after writing - There should be no issue supporting Float64 in 32 bit browsers. double was supported in 32bit architectures long before 64bit, you just to use two 32 bit memory allocations. The only real issue is the memory allocation of the browser, which is a bit limited in 32bit browsers.

So my answer stays the same - should be the same :slight_smile:

2 Likes

Yeah I guess the same reasoning applies to Javascript’s Number type: coded on 64 bits even when used in 32 bits browsers. I suppose there might be performance implications due to how those 64 bits of data get processed under the hood by a 32-bit program, but as long as the web app runs OK I’m happy. So I’ll just focus my efforts on developing something that runs well in 64-bit environments for now.

Thanks again!

1 Like