Hi,
You can see it here as well. The cells marked are the OH6-Pos Proxy Meshes (if I right-click and chose Select Objects in Scene, they get highlighted). If I change the Preview Type nothing at all happens…
Let me explain this. Your file is containing linked blocks. The proxy you’re editing is actually a referenced object from another file. This means it is intrinsically read-only for your master file. You shall not change referenced objects. According to Rhino rules changing a reference object will make a local copy of the object into the master file. This means that the same object will be serialized in two files - the master file and the linked file. When you open the master file again, you will get 2 objects - one dummy in the master and one real in the linked. Why dummy ? becase we cannot edit read-only geometry and assign the new tag to it. You can verity that with a Rhino material - editing a material will make a local copy, next time you load the master file, you will get the material twice - once from the external reference file, and once from the master file. When I implemented linked blocks and worksessions in V-Ray for Rhino I had to comply with that Rhino rule and expand the definition along to V-Ray objects.
This is mostly harmful for objects like fur and clipper, etc. since they are “assignables”. However proxies, decals and infinite planes are intrinsically connected to its viewport representation. For example you cannot drag&drop a proxy from AE to some geometry in Rhino. You can do that with Fur, Scatter and alike.
I guess that is the reason why you get all those dummy copies in your project. Either that, or you’re using that buggy version of Rhino, before McNeel fix the block objects deserialization.
If you want to see the difference, you must make the change in the linked .3dm, and reopen the master. No other “correct” way.
Now the real topic.
On my machine this beast runs with ~11 fps. When V-Ray Interactive is running it slows down to ~3-4 fps. That timing is after I made some changes and it added one 1fps to the framerate. Not really a game changer, but still worthy.
If you change the preview mode of the proxies in the linked files - this will significantly improve the viewport performance. I was able to reach >15 fps with pure Rhino, and ~8fps when interactive is running
Rendering performance.
This will not improve the viewport, but will improve the rendering speed.
I took the transformation matrices of all instanced linked blocks and wrote them in a file, then made a simple GH Script to read the file and produce Translation, Rotation and Scaling matrices. Plugged that into a V-Ray instancer component, and got more or less the same thing, and then all the way down to a RenderInProject component. Hiding all the source geometry in Rhino will make render the 5 instancers from GH. That is quite fast. It starts really quick and renders a bit faster. V-Ray has even faster instancers that are used in Houdini, but I didn’t try them here. They are instant
Bottomline:
there are two things to note here
1. Improve the viweport handling by 1fps
2. Improve the preview of the instancer component in GH
On the other questions:
Why is normal instancing of .vrmesh’es not using the same process internally It is in V-Ray. Every external resource - .vrmesh, texture, or whatever lives only once in the memory manager of the renderer. It is most likely the same in Rhino. The problem here is not memory, it is the GPU taking too long to draw. Probably there are some inefficiencies in the Rhino’s OpenGL pipeline
…but when talking about Enmesh it is talked about how it is possible to render what would be billions of vertices with ease… That is in V-Ray ! V-Ray is cutting a lot of corners with enmesh. It is render-time only effect. Rhino is not rendering it in anyway. We don’t show a viewport preview. It is not rendering billions of “real” vertices, because of some clever optimizations.
Last question: Where can I find some info on Enmesh or Documentation?
V-Ray for Rhino
Probably the Enmesh suggestion I gave was not a good idea. If you ask me now I’d chose GH-generated rendered geometry. I’ll make improvements to the instancer preview options, so that it is event faster