xeolabs / scenejs

An extensible WebGL-based 3D engine. This is an archived project.
https://xeolabs.github.io/scenejs/
Other
649 stars 165 forks source link

Optimize picking primitive generation #471

Closed tsherif closed 8 years ago

tsherif commented 8 years ago

Significant optimizations to the the generation of picking primitives for ray picking. In the new performance example provided, time to generate picking primitives was reduced from ~380ms to ~60ms. Memory churn is also reduced due to picking geometry arrays being pre-allocated, and overall memory footprint is reduced because picking primitives no longer need an index array.

Also fixes a bug that prevented picking from working with meshes containing more than 64k vertices.

Key changes include:

tsherif commented 8 years ago

@xeolabs I'm curious to know if this helps with the issues you were seeing on your phone.

xeolabs commented 8 years ago

Deployed, thanks.