M2 pro vs i7 13800H

Hello,

I am working on a project with the Orbbec Femto Mega, and until now, I was using a setup with my work laptop (M2 Pro) and a cheap Windows PC to get the data from the sensor, that I would then send over UDP.
However, it would be much better if I could get the whole project working on only 1 laptop since it would simplify the setup a lot (no network restrictions, etc.)
I got my hands on a Surface Laptop Studio 2 with an i7-13800H, 64GB ram and a RTX 4060 lately so I tried to launch the app on it, but I am only getting 10~20fps where I am usually getting 50~60fps on my M2 Pro.

The bottleneck is on the CPU for both, but shouldn’t the Surface perform better than the M2 (a quick search shows the i7-13800H being better in raw specs on all aspects)?
Is there anything I’m doing wrong here or is Apple Silicon that much better than Intel?

Please tell me if you need more info as I would love to solve that mystery.

Thank you in advance,

It sounds silly, but is the laptop plugged in? Many Windows laptops will run the CPU much slower when not plugged into AC.

You should also make sure all Windows updates are applied, and Nvidia graphic drivers are recent.

Not only the CPU, some laptops (like mine) will default to integrated graphics when unplugged.

1 Like

Sorry for the late reply, I didn’t have the Surface nearby so I couldn’t get the screenshots I wanted to share…

Laptop plugged and power mode on “best performance”, every updates and drivers are the most recent I could get.

I took some screenshots to compare (sorry for the language):

Here is the task manager with TouchDesigner in the back only hitting 13-15 fps.


The CPU is not even hitting 50% in total as you can see on the graph, while on the MacBook Pro M2:

Hitting 60 fps with 80% usage on the CPU…

Any ideas on what’s happening here?
Or is there any hidden way to optimize it for Windows CPUs?

On Windows, you are looking at a single number that is the summary of all CPU cores. To see individual cores, right click on that graph and select "Change Graph to> Logical Processors. TouchDesigner’s main process is single threaded, so you will be using the maximum of 1 of your 14 CPU cores for the main thread (other parts of TouchDesigner can use addition cores, like for movie decoding, NDI, etc)

To be honest, this likely isn’t a CPU problem, something could be going on with your laptop’s GPU setup as it has both an Nvidia GPU and an Intel integrated GPU, and this has been know to be problematic until you make the correct settings. If you search for that topic in the forum you’ll find lots of solutions people have found for different laptops with this issue. You want to make sure TouchDesigner is set to use the Nvidia GPU, there are settings in both the Nvidia control panel and in the Windows Settings, and some systems may also need BIOS adjustments, although needing BIOS adjustments is rare.

I would first see what is going to slow in the performance monitior report. Dialogs > Performance Monitor, analyze on the WIndows machine see what is says.

Also, please always report which build/version of TouchDesigner you are using. Can you share your .toe file so we can test here on a Windows machine?

Thank you for your answer,

It seems that looking at individual cores, I do hit the 100% on single threads.

The reason I think it is a CPU problem is because of the probe tool, which, if I understand it correctly, shows that the CPU is hitting 100%.

The GPU settings are already done (or should be in theory) so that TouchDesigner uses the Nvidia GPU.

Not sure about how to read the performance monitor, but if it is about the longest green bars that takes the most time to cook, I guess in that case it would be those:

Using the 2023.121120 version on both laptops.
Since the project includes a heavy FBX file, I’ll find a way to share it if the above is not enough.

Thank you again,

I was curious, so I asked a friend to lend me his gaming laptop just to see how it would fare (ACER Nitro 5, i7-12650H, 32GB ram, RTX 4060); and despite the specs being slightly lower, here is how it performs:

(Compared to the Surface)

Hitting 60FPS (vs ~15ish), and the CPU seems to run slower at around 2.4GHz ~ 3.8GHz compared to 3.6GHz ~ 4.7GHz for the Surface (not sure if that has any meaning).

Can the reason be thermals? That’s one of the things that comes to mind, because of how praised they are in the case of Apple Silicon, and because the gaming laptop (despite its older and slower CPU) has a proper “noisy” ventilation system.

Is there anything that I can do on the Surface to make it more competitive?

You’re right, that is strange. I would expect the Surface to perform like the Acer, or better. It could be throttling due to thermals, you could check what the CPU temps are to see if that is happening. A nice application for that on Windows is HWiNFO64