I am about to go to college for engineering and they require a Windows laptop because of the software we will be using (mostly solidworks I’m pretty sure) doesn’t work on other operating systems. I primarily use windows day-to-day for gaming and such anyways so it’s not a problem for me but I’m wondering if anyone had experience using solidworks or any other industry-class CAD software like Inventor on linux
Complex CAD is extremely demanding on CPU hardware. The tree is built sequentially and the math is all single threaded. Once CAD gets past a certain threshold the software needs to start tuning the way the Kernel works. The regular settings optimised for throughput and latency become a problem and the software needs away to change this. I’ve been messing with the Linux CPU scheduler to try to improve performance for FreeCAD designing complex assemblies on an older machine. I finally gave in and ordered another machine, but am still curious about CPU schedulers in general. I don’t know how other software accomplishes improved performance on the hardware. I can only speculate, but I am willing to bet there are methods used to alter kernel parameters like the CPU scheduler in programs like Solidworks. The way these things are done is probably not portable to any other kernel.
Matrix multiplications could be at least somehow multi threaded and few fields has been more optimized than displaying 3D. Do you mean simulations maybe?
I would have thought they were done mostly on the GPU nowadays?
Open a .step file in a text editor and you’ll understand better. All the coordinates are calculated like they appear in a step file and they are mostly relative to each other.
I’ve been using system76-scheduler for a while now and it works great. You can create a profile for your desired software and all of its related processes and then assign a high priority (low niceness) to them.