algorithmic modeling for Rhino
Grasshopper (and indeed Rhino) can be performance critical applications since both potentially deal with large amounts of data and computations. Although we aim to make our software runnable on low-end, over-the-counter computers, you may still run into serious performance issues. We have no strict recommendation or requirements, but here are the basic rules when it comes to picking hardware for Rhino and Grasshopper:
Some further points to take into account:
* This may change in the future, but not the foreseeable future.
Thank you David, this information is specific to what I was interested in currently and much appreciated.
Nice to read this. Only curiosity: what about a hardware accelerated interface? OpenGL could open new possibilities (and close and complicate others, of course): 3D interface capabilities, video and image decoding faster in canvas, complex effects applied to elements in future (DOF to focus atention over nodes...I know is very fancy and stupid, but only dreaming...), 3D and multidirectional connections of elements (ok,ok...We talked about this some time ago and is not a choice...but...dreaming in future again...:P)...
It's possible of course. I began with GDI+ because I knew how to use it. I still can't write OGL code today. It would be quite a significant job of course so until the current system clearly becomes inadequate I think I'll stick with GDI+.
will there be a multi-threaded rhino in the future? i just came across the topic because of re-occuring performance issues regarding grasshopper and components like boxmorph. hardware is not the worst.
just found your comment from april regarding the same topic
but how they accomplish stuff like vray scatter with a million of objects?
there must be a way :)
by the way, did you manage to get your zoomable shaded dots into prezi and wouldn´t that be a solution to other performance issues within grasshopper (eith the help of e.g. openscenegraph)
Rhino is already multi-threaded. Some portions of the runtime code use multiple processors*. As time goes by we'll probably add multi-threading to more and more algorithms, for Rhino5 we tried to at least make all our algorithms thread-safe, so they can all be called from multiple threads, this is the first step towards multi-threading.
But multi-threading is not just something you switch on or off, it's an approach. Let's take the meshing of Breps for example. Let's assume that at some point one or more breps are added to the document. The wireframes of these breps can be drawn immediately, but the shading meshes need to be calculated first. How do we go about doing this? Allow me to enumerate some obvious solutions:
So we can compute the meshes on the UI-thread or on a background thread. How about using our multiple cores to speed up the process? Again, there are several ways in which this can be achieved:
All of the above approaches are possible, some are very difficult, some are actually not possible if we're not allowed to break the SDK. A further problem is that there's overhead involved with multi-threading. Very few operations will actually become 4 times faster if you distribute the work across 4 cores. Often one core will simply take longer than the other 3, often the partial results need to be aggregated which takes additional cycles and/or memory. What this means is that if you were to apply all of the above methods (multi-thread the meshing of individual faces, multi-thread the meshing of breps with multiple faces and multi-thread the meshing of multiple breps) you're probably worse off than you were before.
* an example would be the z-sorting of objects in viewport prior to repainting, which is a step performed on every redraw as far as I know.
Hi! I'm an Interior Design student in Dubai. I am fairly new to the whole rhino/grasshopper scene. I am planning to buy a new laptop for this and I must say, I found this thread very helpful! I would just like you to explain further on the 32-64 bit criteria. Which one would you say is best for rhino and grasshopper? I have been using rhino on a sony vaio of 32 bit and 4 GB RAM, which I had purchased 4 years back, for about a month now. It kept crashing when i was using the paneling tools and said that the memory is full. I would like to know what went wrong...
Any help will be much appreciated!
you should buy the 64 one + as much ram as its possible/affordable. its not only useful when using rhino e.g. 3ds max can take any amount of ram for rendering (other way, youll have to use regions). photoshop also can use quite a lot of ram memory.
if you want to know what went wrong : you just used all avaible ram, and panelling tools wanted more.
Hmm I see your point... Thanks, I'll keep that in mind when I buy my pc.
Just so you know, the 32-bit is actually limited to the amount of RAM it can use at any time...I believe it's basically capped at 3 GB, so anything you might have above that is completely useless in Rhino/GH, which can be crippling. Matuesz is right...get the 64 bit, and get as much memory as possible.