Best setup for Dynamo

Hi guys,

My general use of Dynamo contains calculations on thousands of objects at the same time. Weight, distance between objects, color by filters in Revit and input from excel and export of reports to excel, all in the same script.

I am working from a Laptop (HP Zbook CORE i7 vPro) and the _ RUN_ is taking too long…
Maybe I can optimize my laptops setup or maybe i should get a beast of a stationary computer?

I have two questions for you.

1. Do any of you have some advice for the best laptop setup to run heavy Dynamo scripts?
Maybe the standard adjustments for the laptop.

2. If the answer to question number 1. do not resolve my needs, I would like you to take a look at these stationary computers and tell me what you would prefer to buy for this use.
Link to stationary computers: https://www.asus.com/dk/Tower-PCs/ROG-Series-Products/

I hope you have some advice for me :slight_smile:

Best regards

It’s not that simple. You can throw as much power as you like at a problem but don’t expect much of an improvement performance-wise. Many processes in computational design and CAD applications (i.e. Revit and Dynamo) can’t be multithreaded which means if you by a state of the art, 16 core processor it would perform worse than a dual core as only a single core is ever in use.

Instead you should be looking at the performance and data management strategies in your scripts. Intersections are heavy operations, escpeially if solids are concerned. In general it should be avoided and used as a last resort in favour of mathematical solutions which are super efficient.

If it can’t be avoided then the process should be broken down into manageable steps that avoid excessive memory use. Performance slowdown can also be exponential: more memory use can make each step in a process slower and slower until it grinds to a halt. Speed, Efficiency, stability and flexibility should always be the hugest priorities for any programmer.

Visual programming is also a barrier to speed; by definition its inefficient since anything which needs to be ‘visualised’ puts an unnecessary load on your computers resorces. It also creates huge amounts of redundancy (the ‘trade off’ for making programming accessible to non-coders) and every node tessellates which is unnecessary for every step but the last. Coding not only enables superior efficiency as each step in a more complex process can be internalised, and only the end result can be output, but it can also be written to solve the problem at hand, rather than being limited by the repertoire of nodes visual programming offers.

4 Likes

@Thomas_Mahon is right. It’s not a matter of power it’s a matter of how you write your code. Limit your datasets and/or code things more efficiently. One code block can perform calculations in a linear manor and only use a little ram relative to the same efforts done in nodes. Every output from every Node is stored locally in the RAM or scratch disk (otherwise preview would require being enabled prior to running) so if 20 nodes can be reduced to one output in a codeblock… well that’s 1/20th of the ram. Same CPU useage though, and with Revit and Dynamo both being limited to a single core, you won’t see much improvement no matter how much hardware you throw at the problem. Just make sure your system meets the software requirements for both programs, and that the graphics card is supported.

4 Likes

Hi All. Water clear explanation @jacob.small and @Thomas_Mahon, but, how about Graphic Card? It would help somehow if I upgrade to a better graphic card for visualization?

Thanks in advance!

Depends on a lot of factors - what do you have installed now? What do you plan on using dynamo for? If you’re doing a lot of 3D preview stuff then sure. Otherwise not much - the processing still happens on your CPU even if you put a nvidea ultra super awesome unbeatable warp core reactor in there (if it wasn’t clear I don’t keep up with graphics card hardware anymore).

@simonrbjerre

Both @Thomas_Mahon and @jacob.small has and i agree management of your graph and breaking it down to few smaller dyn can help. @Jorge_Villarroel has a point regarding graphics card but not quite.

As i explained before on the same subject. Laptop is not the best for Revit and therefore for dynamo.

I have nothing against if you do want to use laptop there would probably no difference between desktop and a laptop depending on your graph and state of your model.

Now thats out there whats the big advantage of a desktop over a laptop on revit/dynamo?

  1. Desktop can have more then 16gb ram the last time i have a desktop with 128gb ram. So if ram is in question i will choose a desktop.

  2. Processor both desktop and laptop can have same processor so no gain.

  3. Graphics card a desktop can have the best money can buy “tesla card” a laptop can have equally but not tesla.

  4. Solid state drives or hybrid both desktop and laptop can have so no gain here.

  5. Lastly…which a laptop can never have is proper and well HEAT DISPERSION those CPU fans, fancy water cooled cpu…etc. this is whats kills every laptop. Once it start heating up due to calculation, rendering etc. A laptop cannot easily cool itself down as a desktop.

So in summary it could be your laptop, your dyn setup or your revit model or graphics card who knows.

But if you looking for answers…i guess you just need to try it…hope this helps.

2 Likes

Hi guys,

Thanks for the very well described answers.
@Thomas_Mahon, the script contains a clashdetection with elements and solids. I’m working with your Bimorph nodes. GREAT work by the way!

I’m on the path of learning python and C# to optimize my way of working.

Again thank you!!