-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
There are probably some low-hanging fruit speed ups that would improve the boot-up time when repeatedly re-running the same or similar simulations.
(1) Don't send the mesh file contents inside the websocket set object message and instead only send a URL for the mesh contents. The meshcat.cc will serve the mesh contents over http when requested.
(1b) It's a small tweak to meshcat.html or meshcat.js (can't remember which) to fetch mesh contents over http. It's the same hook as we use for loading mtl files currently, just in the opposite direction.
(2) Be smart about the http url design so that browser caching kicks in. Use a content-addressable scheme (i.e., use the sha256 as the URL, not the filename) so that the browser will cache the file indefinitely. This cuts the cost of transmitting the mesh data to near-zero (on average). All that remains is parsing in the browser.
(3) The code already has "uuid"s as discussed in the code here. Get that working (so that duplicated objects are shared), and try to ensure that the same mesh (content-addressable) has the same uuid so that reloading the scene preserves the gpu vertex buffers.