Could LayOut Make Better Use of Multi-Core CPUs and GPUs?

Hi everyone,

I use SketchUp and LayOut for professional interior design work. When using LayOut, I’ve noticed that updating SketchUp models can take quite a while.

My PC specifications:

  • Ryzen 9 5950X (16 cores / 32 threads)
  • 64 GB RAM
  • RTX 5080
  • NVMe SSD

I used AMD uProf to analyze LayOut during the update process. In this workload, I found that approximately 86% of the CPU cycles in layout.exe were concentrated on one main thread.

I also tested faster memory and different CPU settings. They helped somewhat, but the improvement was limited.

Today, many computers have 6, 8, or more CPU cores, and dedicated GPUs are also very common in PCs used for SketchUp and LayOut.

I hope future versions of LayOut can make better use of multiple CPU threads and, where appropriate, allow the GPU to assist with part of the workload to improve overall performance.

I have also submitted this suggestion and my test results to SketchUp Support.

I’d like to ask other LayOut users: do you experience something similar? For example, long update times, CPU usage concentrated on only a few threads, or low GPU utilization?

I’d be interested to hear about your experience and PC specifications.

I think this is pretty common across CAD software. A lot of CAD applications still rely heavily on single-threaded performance for many of their day-to-day modelling and drawing operations.

Modern CPUs have lots of cores because there are plenty of workloads that can be split up and run simultaneously, and an operating system itself is juggling hundreds of independent processes.

But a lot of the work being done inside a typical CAD application is sequential. One calculation may depend on the result of the previous one, so you can’t necessarily just divide the job between 16 cores and expect it to finish 16 times faster.

That’s why single-threaded performance is still a really important metric when buying a computer for CAD, particularly for applications like SketchUp and LayOut. More cores can certainly help with things like rendering and other highly parallel workloads, but they don’t automatically make every operation within the application faster.

I’m sure there’s already a degree of parallelisation happening in LayOut. The problem is that the operations which actually make an application feel slow aren’t necessarily the ones that massively benefit from having more CPU cores.

This isn’t particularly unusual in CAD and design software either. You can find plenty of similar complaints about responsiveness in applications like Illustrator, even from people with extremely powerful computers. The bottleneck isn’t necessarily a lack of computing power; it can be the nature of the operation being performed and how easily that operation can actually be parallelised.

That said, I’m always welcoming improvements on the software end, meanwhile I work hard on optimising my own work and buying hardware that suits my needs.

No Cad application provides multithreading for its core operations. Autodesk promised a multithreaded version of 3D Studio Max when the first muliprocessor motherboards became available in the early 1990s but we are still waiting. Setting up many paperspace viewports to a moderately complex drawing still bogs down AutoCad in the same way as with LayOut. We are still waiting for the breakthrough but it might never happen.

Thank you everyone for the detailed explanations and suggestions.

I understand that many operations in CAD software are difficult to multi-thread, and that optimizing the LayOut document itself can also improve performance.

However, the purpose of this Feature Request is not to assume that LayOut can simply be changed to use more CPU cores or GPU processing in a specific way. Rather, I hope the engineering team can evaluate whether there is still room to optimize the current update process.

What we can observe as users is that updating more complex LayOut documents can still involve significant waiting time, even with a high-core-count CPU and a high-performance GPU, while some hardware resources remain underutilized. Which tasks can be parallelized, which could make use of the GPU, and which are limited by the current architecture are questions that only the LayOut engineering team can properly evaluate.

Even if the entire process cannot make use of multiple CPU cores, improvements to some of the more time-consuming stages could still make a meaningful difference for users who work with LayOut regularly.