CartoDB / carto-vl

CARTO VL: a Javascript library to create vector-based visualizations
BSD 3-Clause "New" or "Revised" License
129 stars 26 forks source link

Lower minimum MAX_VERTEX_TEXTURE_IMAGE_UNITS requirement #1401

Closed jesusbotella closed 5 years ago

jesusbotella commented 5 years ago

We've had some compatibility problems as of setting MAX_VERTEX_TEXTURE_IMAGE_UNITS minimum to 16 units.

I have done some research on that and seems like there's no problem in Android devices, because even a mid-range device such as a Motorola Moto G 2nd Gen has 16 vertex texture image units according to webglreport executed through BrowserStack.

Issues come with Apple devices. Even an iPhone XS, which is the penultimate device released, has 8 vertex texture image units, and this leaves that device unsupported. I've tested multiple devices across Apple's devices range and all of them have 8 vertex texture image units.

But as data is what matters, according to WebGL stats, lowering the value to 8, we'd be able to support the 85.8% of WebGL compatible devices.

Development-wise, I don't know if it involves major problems related with any of the expressions or features that CARTO-VL provides, but this change would be an important compatibility bump.

Related to https://github.com/CartoDB/carto-vl/issues/1400

jesusbotella commented 5 years ago

I've tried the map in https://cartodb.github.io/carto-vl-maps/blog/safegraph/safegraph-map-2.html with the requirement modified and it works successfully in my mobile device.