Comments (4)
It's possible that removing fields conditionally (and thereby making all the nodes not have homogeneous shapes) could hurt performance due to JIT inline caching, so it's worth benchmarking after this to make sure there's not a regression.
from three-mesh-bvh.
That's a good point. If it does wind up being slower then having two different classes may be a better option? One with children
and one with tris
?
I'll also have to see how much removing a key really saves here. I'm not so familiar with how to estimate memory use when it comes to javascript object keys.
from three-mesh-bvh.
No idea if the objects having the same prototype will make a difference or not.
Removing children
is particularly appealing since for leaf nodes it's an empty array, so we're paying memory twice -- once for the pointer and once for the empty array. tris
is just null
for non-leaves so we only pay for the pointer.
from three-mesh-bvh.
Most unneeded fields removed in #44
from three-mesh-bvh.
Related Issues (20)
- Move models to demo data repo
- edgeUtils exports HOT 1
- Selection tool issue with irregular shape model HOT 4
- Selection tool issue with different GLB models HOT 3
- Generate a vertex displacement in one mesh according to the shape of another mesh HOT 1
- umd package missing .js HOT 1
- I use LineSegmentsGeometry and LineMaterial to draw LineSegments2. Can I use three-mesh-bvh HOT 1
- Consider new shader bounds intersection function HOT 2
- Trouble with replicating character movement HOT 2
- Rename MeshBVHVisualizer to MeshBVHHelper
- Shapecast: can we remove the need for users to use "resolveTriangleIndex" function?
- To obtain all the nearest point indices within the radius from the PCD file. HOT 1
- Rotation of MeshBVH + update Mesh with Physics HOT 9
- Remove samplers from shader structs in functions HOT 2
- MeshBVHHelper: Add ability to display bvh without mesh.geometry.boundsTree
- MeshBVHHelper: Add an option for displaying the geometry wireframe
- Review, simplify, clean up glsl functions
- SAH can contain more than 1 triangle at leaf even when "maxLeafTris" is 1
- Set the glsl stack size more deliberately HOT 3
- Make the 0.6.9 changes backwards compatible
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from three-mesh-bvh.