Jump to content

Why KSP 0.24 runs better with dual-core.


Recommended Posts

We all know that dual-core CPU's boost your processing power for 2 different cores, think of a dual-core CPU as two CPU's, one doing background calculations and one doing calculations for your game of KSP. KSP's newly added 64-bit support allows for more cores on your CPU to be used, thus improving performance during flight, but inside the VAB and SPH, that's up to your Graphics Card.

These are the reasons why KSP runs so much better now than it did before. :kiss:

Link to comment
Share on other sites

64-bit does not mean you can use more cores/threads, it simply allows you to access over 3.42GB of ram. KSP can currently only use 2 cores(I believe) with one for physics and one for everything else. However, the next update for Unity(5) is going to allow for physics to be run on multiple threads, which if it is stable enough may be used in KSP.

PSA: You should really use the term thread rather than core, because while each AMD CPU can run one thread, Intel's can run two.

Link to comment
Share on other sites

We all know that dual-core CPU's boost your processing power for 2 different cores, think of a dual-core CPU as two CPU's, one doing background calculations and one doing calculations for your game of KSP. KSP's newly added 64-bit support allows for more cores on your CPU to be used, thus improving performance during flight, but inside the VAB and SPH, that's up to your Graphics Card.

Er, no. 64-bit and multiple threads have literally nothing whatsoever to do with each other. It's similar to RAM vs. hard drive space - both more RAM and larger hard drive have advantages, and initially sound related, but they're completely disconnected.

PSA: You should really use the term thread rather than core, because while each AMD CPU can run one thread, Intel's can run two.

There are other reasons as well (notably, two threads don't have to be run on different cores; single-core processors can still run multi-threaded programs, just not multiple threads at once).

Edited by cpast
Link to comment
Share on other sites

There are or have been multicore 32-bit processors, just as there are or have been 64-bit single core processors. Bitness and number of cores are not directly related.

I have heard discussions in IRC that the type of physics that KSP does will not be multithreadable, even in Unity 5. Something about a chain solid-body problem and the dependencies of such, I must admit it was a bit over my head.

Link to comment
Share on other sites

PSA: You should really use the term thread rather than core, because while each AMD CPU can run one thread, Intel's can run two.

It's a bit more complex than that. AMD CPUs count the number of integer units as cores, but they have only half as many floating point units. So an eight core AMD CPU can only run four floating point threads simultaneously.

Intel's hyperthreading allows two threads per core, but they cannot use the same calculation units, and hyperthreading is not enabled on all CPUs (i3s and i7s have it; Celerons, Pentiums and i5s do not in the desktop CPUs).

Link to comment
Share on other sites

The reason it is set simply to two threads is beacause of the way the system is set up. From my understanding, You can't run the same module executable on multiple threads. There are 2 modules, one for physics, and one for everything else. Therefore splitting into more than 2 becomes virtually impossible, unless the algorithms for physics were split into multiple files, from which they could pitch calculations back and forth between them.

Link to comment
Share on other sites

The reason it is set simply to two threads is beacause of the way the system is set up. From my understanding, You can't run the same module executable on multiple threads. There are 2 modules, one for physics, and one for everything else. Therefore splitting into more than 2 becomes virtually impossible, unless the algorithms for physics were split into multiple files, from which they could pitch calculations back and forth between them.

No, there is no such restriction. One executable module can launch any number of threads. The challenge with multithreading isn't splitting things into different files (in fact, in many cases where multithreading is useful, most threads are running the exact same code on different inputs, because that parallelizes really well), it's making it so that the different threads don't mess with each other (e.g. changing the value of a variable while the other thread is actively doing something with it).

Edited by cpast
Link to comment
Share on other sites

We've sort of covered this in another thread. In general, threads within the same process share memory. However, if you want them to run on different cores, memory sharing becomes complicated. Asynchronous access is an issue, for example. It's something you have to work around. If the two different threads do completely different things, and they don't share memory, then it's pretty straight forward to set things up to run in parallel. Running physics and rendering in two different threads that run on two different cores, for example, is pretty straight forward. Only locations of entities have to be shared between the two. But if you want to run several physics threads in parallel, you start running into additional complications.

You should really use the term thread rather than core, because while each AMD CPU can run one thread, Intel's can run two.

A CPU can run any number of threads, by switching between them. That's basically the definition of a thread. But some Intel CPUs can run two threads at the same time using hyperthreading.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...