Improving Simulation Speed in CoppeliaSim (CPU multithreading / GPU support)

Typically: "How do I... ", "How can I... " questions
Post Reply
sock1214
Posts: 8
Joined: 25 Mar 2025, 05:28

Improving Simulation Speed in CoppeliaSim (CPU multithreading / GPU support)

Post by sock1214 »

I'm currently running CoppeliaSim on a system with the following specs:

CPU: Intel i5-11600K (6 cores, 12 threads)

RAM: 16 GB

GPU: None (integrated graphics only)

OS: Windows 10

I'm noticing that simulation time is relatively slow for my project, and I'm looking for ways to improve performance. I have two main questions:

1. Is it possible to make CoppeliaSim utilize more CPU cores/threads to speed up simulation execution time? If so, are there specific settings I should adjust, or is this mostly limited by the simulation content itself?

2. Would adding a dedicated GPU (e.g., an NVIDIA card) improve simulation performance in any meaningful way? I understand that rendering would improve, but does it also help speed up the actual physics or simulation computation?

Any advice or insights would be greatly appreciated. Thank you!
coppelia
Site Admin
Posts: 10747
Joined: 14 Dec 2012, 00:25

Re: Improving Simulation Speed in CoppeliaSim (CPU multithreading / GPU support)

Post by coppelia »

Hello,

in general, the simulation items will run sequentially, e.g. actuation section before sensing section, etc. This also means that CoppeliaSim scripts will run sequentially (even with threaded scripts). API access is should always happen from the main thread, the simulation thread. Everything you do in a remote API client will execute in parallel to CoppeliaSim, except for API access (i.e. all CoppeliaSim functions) and when running in stepping mode.

CoppeliaSim doesn't focus on speed, but more on flexibility and functionality, mainly for R&D applications, such as fast prototyping.

To improve speed, you can do several things:
  • Reduce the numer of rendered frames (simulation passes per frame)
  • Disable rendering for the time the simulation runs (Toggle visualization toolbar button)
  • Increase the simulation dt
  • Increase the dynamics dt
  • Handle various espects of a simulation not in each simulation step, but e.g. in every nth simulation step. E.g. with vision sensor or proximity sensors, set this in explicit handling mode, and handle them only when needed with sim.HandleVisionSensor(sensorHandle) and sim.handleProximitySensor(sensorHandle)
Cheers
wdy
Posts: 6
Joined: 14 Oct 2024, 03:12

Re: Improving Simulation Speed in CoppeliaSim (CPU multithreading / GPU support)

Post by wdy »

If there is a way to run CoppeliaSim on GPU, it must be awesome!!!
coppelia
Site Admin
Posts: 10747
Joined: 14 Dec 2012, 00:25

Re: Improving Simulation Speed in CoppeliaSim (CPU multithreading / GPU support)

Post by coppelia »

CoppeliaSim is not meant for speed. Its emphasis is functionality, flexibility and ease of use. For speed, you should look at using one of the physics engines naked.

Cheers
Post Reply