Macbook Pro M1 Max - SketchUp & Layout - Performance Review

Hello! Sam here. We design, draft and develop master landscape plans. As we all know, SketchUps Layout application is excellent in many ways, however, it’s no secret that working in Vector Render mode within the layout app is, about the most frustrating thing in the world. Small plans, it does OKAY, large more detailed schematics, good luck.
We should expect an application like SketchUps layout to be able to deliver responsive, beautiful and simple to use vector annotation tools and graphics inside of layout, with ZERO delay. The fact that they haven’t been able to do this, even with apples new M1 chip, shows a complete failure from the dev and engineering side within this category. It actually used to work better on older versions of SketchUp on older machines, and was more responsive… so to see the development literally reverse as progress is very troubling.

The industry should be able to annotate and illustrate on top of vector-based plans within layout without experiencing a delay, this is a ground-level necessity. Until the dev team get this figured out, we’ll all be stuck in Rasta mode for arguably one of the most important parts of developing site plans ( the annotation and labeling hierarchy ).

I’d like to add, thank you to the dev team for generally being awesome and creating an excellent product. Please spend additional effort on Layout. Open to any tips and suggestions… or perhaps this is a gap in the market for a new company to come in and create a 3rd party annotation and layout tool for DWG files.

20 Likes

+1 for me.

Although there have certainly been some useful improvements and additions in the past few years, I hope I am not being unfair to the “dev team” is that most of the awesomeness pre-dates them by some margin. SU was truly groundbreaking in the @Last days and Google added some useful functionality (LO was theirs I believe). But as each year flits by, the software, nice as it still is, starts to show its age and lack of significant development. You have an extremely advanced computer but SU/LO is nowhere near being able to make use of its power. For those of us who have remained loyal, it’s a great pity.

16 Likes

+1

I know there have been 50000000 threads about this…already…may be best to keep the M1 Max thread to an actual “review of performance” and move the “Layout is Slow” stuff to one of the other threads?

@brickworksllc can you do any testing between laptops to show comparitive hardware/performance?
Or run the SketchUp Test TIme Display scene?

Anyway… to sum up my present day understanding:

LayOut isn’t slow in a comparison with Illustrator or other vector apps, when you compare it on “amount of data rendered in X seconds”.
Those apps get slow as well when comparing similar amounts of data/image complexity.

But many apps do allow more control over settings - eg font rendering resolution, antialiasing, output resolution, turn on/off background images, greeking and quality settings for objects, zoom-based regen, etc, etc… These settings allow customisation to the user’s PC and the complexity of the LO file.

I long for the day (in 2022???) when we can one again have two LO files open. It really helps so much as I can work on one, while waiting for the other to save/render/output, and the files never get too big. Then I need a tool to “link” or combine them together into one “document set”. 1 LO file per CPU core.

LayOut has some unique challenges that make it feel particularly slow.

I assume some things are difficult/impossible to code your way out of:

  • code not optimised for models of a certain size/complexity.
  • not using hardware rendering (eg Direct2D) - perhaps the difficulty of enabling that on a product with so many platforms (tablets mac, pc, amd, nvidia, etc)
  • not utilising more than 1 CPU core, eg for rendering in the background, or rendering each layer
  • trying to accommodate every type of OS, GPU and hardware config (most software doesnt…)

I also suspect the performance issues are magnified due to the behaviour of sketchup (ie generating fast amounts of vector data):

  • polygons all export with snappable faces and edges, even in raster mode
  • edges that are invisible are also included in the model views, even if they arent visible in the image (i think this part has changed in recent releases)
  • sketchup, being a surface modeller, therefore not making use of true bezier curves so organic shapes contain very large edge counts

From my limited undertsanding the few things that will help, short of a complete refresh of the code, are

  • multi core CPU rendering by assigning cores to render different Layers, Pages or - best - multple LayOut files open at once.
  • an output mode for SketchUp which flattens the image data during export so that the LO file is lightweight and doesnt contain a lot of 3d or invisible data. You;d lose some abilities to view 3d and turn tags on/off in LO, but that would be fine for 90% of technical drawing applciations.
  • changing snapping settings to ignore invisible edges or raster info

Other - somewhat related - items could improve layout immensely to speed up overall workflow, based on what other software uses to improve performance:

  • a better interface with an improved “widget” enabling easier snapping, selecting and transforming (not requiring zooming in and out), a transform scale input like InDesign/Illustrator
  • a tool palette menu that collapses or hides functions when not in use, so that its easier to select relevant tools, and we’re not waiting for things like Font lists or Tag lists to display.
  • a lot more settings, eg high res raster output, a better scrapbook interface (professional grade) and customisable font library,…etc.etc.

Bring on 2022…it had better show some LO improvment or I feel like frustration/anger will only grow.

10 Likes

I saw you mention “having multiple LO files open” in another thread.

Is this multiple instances of the software running or just multiple files open?

Yeah in the past we used to be able to have multiple LO instances running, with files open on each.
At some point it changed to using Tabs.

My wish is for either:

  • allow multiple LO instances, or,
  • allow each tab to be used while the other/s are processing.

By splitting processing across multiple CPU cores there shoud be no performance penalty.
A lot of the time I waste in larger layout docs is actually in Saving the file, relinking/updating SKP references, rendering, and exporting.
If rendering can be done “in the background” then there would be no real issue with using Hybrid or Vector for everything.

1 Like

Not saying your incorrect, but I don’t remember being able to open two instances of LO. I would also like that. I use two computers so I can do it, but it would be nice to do it on one machine.

1 Like

The whole discussion of using multiple cores is a bit of mystery to me. I know it’s programming mystery science that limits SU/LO to one core, but your explanation of separating different functions to the other cores or having multiple instances using other cores seems, dare I say, logical.

Is that possible within the limits of the current parameters of the software or does that require ground-up recoding?

Yuo arepossibly correct…It would have been back around 2014ish (windows 7), so i possibly remember it wrong … Maybe it was diffrent versions of LO open at the same time?
Hmm… Im sure this came up in discussion not long ago.

It could be me not remembering correctly. That seems to be a common theme as I get older!

Strong answer. I hope the dev teams reads this, I’d happily help them.

All this talk about having multiple LO drawings open is of course only relevant to Winodws and the OP has a Mac, as I do. As you can see here, multiple LO files on a Mac are easy:

3 Likes

The speed of Layout on a mac drove me to start using a PC.
You can get a reasonably cheap laptop from the Dell Outlet website, and they have free returns so you can test it out risk-free.

I highly recommend trying it out.
Best of luck!

True, but I wonder if each file is split off as an independent thread that could be run on its own core, or if, like SketchUp, they all run on the same core. Although few Mac owners realize it, it is actually possible to launch multiple instances of the same app, and that will let macOS put each instance onto a separate core. Of course, that may gobble memory because instances won’t share anything.

This was the question I was asking yesterday. I was under the impression that I can have multiple files open as your image shows but they are all being operated by a single instance? I am accustomed to having 3-6 files open at a time on my Mac and on occasion it will crash if the files are all big. But if each file was a separate instance and thus migrated to a new core that seems like it would create some capacity.
Question then is can Layout be programmed to allow this behavior?

Yes. Normal macOS apps are “application centric”, meaning that a single instance of the app can open multiple documents and that standard attempts to launch a new instance of the app will just pop the existing one. So, unless explicitly programmed that way, multiple files opened by an app won’t spread across multiple cores.

I haven’t tried that but you seem to be saying that this might enable Layout to run faster. I wonder if any Mac user has tried it out to see?

and secondarily, how does one actually do that on a Mac if one was so inclined to try?

I don’t think it is possible from the GUI, it requires using the terminal to issue a command (I could be wrong). The syntax is

open -n -a <path to Sketchup.app or Layout.app> <path to file>

-n tells open to start a new instance instead of using a running one
-a tells open what app to use. Obviously, the exact path depends on what version of SketchUp you want to run

Full paths are required in both cases because the terminal shell almost certainly won’t be running in the folder for either the app or the file.

Edit: those < and > characters are in my example to bound things you replace with your own specifics, they aren’t typed in the actual command. Also note that the terminal shell doesn’t understand spaces in things unless you precede them with a backslash. For example, SketchUp 2021 normally lives at

/Applications/SketchUp\ 2021/SketchUp.app
1 Like

If doing that did make Layout faster, could you use Automator (say) to run that script without having to resort to the Terminal every time?

I think that if you use Terminal to open the app, you get a new instance without the parameter. Simply running this line in three Terminal windows will give you three instances of LayOut:

/Applications/SketchUp\ 2021/LayOut.app/Contents/MacOS/LayOut

But, I can’t easily tell if they are using different cores. Do you know how to tell what core is being used by a particular app?