• 0
Sign in to follow this  
iSilver

KSP and CPU instruction sets?

Question

Does KSP utilize AVX, AVX2, and FMA3/FMA? Or still on SSE2/SSE4 codes? I'm thinking of getting a new cpu optimized for some physics based games like KSP and BeamNG.

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 1

Hi @iSilver, KSP is limited to what the Unity3D engine supports.

Quote

For running Unity games

Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:

  • Desktop:
    • OS: Windows XP SP2+, Mac OS X 10.8+, Ubuntu 12.04+, SteamOS+.
    • Graphics card: DX9 (shader model 3.0) or DX11 with feature level 9.3 capabilities.
    • CPU: SSE2 instruction set support.

Hope this helps.

Share this post


Link to post
Share on other sites
  • 0

I've just found out that Unity 5.x Physx 3 actually runs with two code paths (SSE2 for older/value cpus and AVX for newer/mid-to-high cpus).

Share this post


Link to post
Share on other sites
  • 0
46 minutes ago, iSilver said:

I've just found out that Unity 5.x Physx 3 actually runs with two code paths (SSE2 for older/value cpus and AVX for newer/mid-to-high cpus).

Interesting! Would you happen to have a link?

Share this post


Link to post
Share on other sites
  • 0

Ahh I see, I don't know if the version of PhysX in Unity does all of that, one difference with the Unity version that I know of is that it only provides software physics at this time, except for a handful of optional things such as hair rendering, but SSE2 can be taken as a minimum.

Share this post


Link to post
Share on other sites
  • 0

I ran several fps tests with a 175-part rocket+lander and no noticeable difference between AVX (normal) and disabled AVX (xsavedisable 1: disabled AVX in Windows 10). Both result in consistent fps range of 60 to 70 (unlocked framerate & no vsync). My 3570k doesn't support AVX2 though.

sBSkvwy.jpg

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, iSilver said:

I ran several fps tests with a 175-part rocket+lander and no noticeable difference between AVX (normal) and disabled AVX (xsavedisable 1: disabled AVX in Windows 10). Both result in consistent fps range of 60 to 70 (unlocked framerate & no vsync). My 3570k doesn't support AVX2 though.

Makes sense, neither the Unity manual or the Unity 5 blog post mention AVX at all, so it's likely unavailable.

Share this post


Link to post
Share on other sites
  • 0
19 hours ago, iSilver said:

Given the only mention is in the deformables section, which KSP doesn't use, I wouldn't expect anything in KSP/Unity to be any faster.

14 hours ago, iSilver said:

and disabled AVX (xsavedisable 1: disabled AVX in Windows 10)

The MS documentation for this option indicates that it disables the use of the XSAVE instruction in the Windows kernel.  Nothing to do with AVX as far as I can see, it concerns the saving of the processor state so is only relevant to CPU context switches.

The bit of software on your machine most likely to use AVX is your graphic card driver (or video encode/decode stuff but that's irrelevant to KSP) but even this is unlikely to make any significant difference as it just won't get used enough to be significant.  If only 1% of the time is spent doing things using AVX instead then you will never see more than a 1% improvement (and probably more like 0.25%).

16 hours ago, sal_vager said:

but SSE2 can be taken as a minimum.

Indeed, SSE2 is an absolute requirement for Unity 5 (and probably 4 too) games.  SSE2 was introduced in the first Pentium 4 CPUs so I really wouldn't want to play KSP on a machine without it, even if it were possible... :wink:

Share this post


Link to post
Share on other sites
  • 0
7 hours ago, Padishar said:

The MS documentation for this option indicates that it disables the use of the XSAVE instruction in the Windows kernel.  Nothing to do with AVX as far as I can see, it concerns the saving of the processor state so is only relevant to CPU context switches.

It does disable the cpu extended states (AVX+, FMA, F16C) by disabling the use of xsave instruction.

Here, with AVX enabled and disabled AIDA64 FPU mandel (double-precision fp) benchmark results:

AVX on (normal windows):

AYvRxg8.png

 

AVX off (xsavedisable 1):

R4XQub7.png

 

CPUID bit readings:

CXLmkkp.png

sma96Yg.png

Just run any AVX/AVX2/FMA optimized benchmark with both settings.

Share this post


Link to post
Share on other sites
  • 0
32 minutes ago, iSilver said:

It does disable the cpu extended states

I stand corrected, thanks for that.  It would be nice if MSDN said something about it actually disabling the AVX instructions in the CPU but it isn't the first bit of MS documentation that's wrong or misleading... :wink:

Share this post


Link to post
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
Answer this question...

×   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.

Sign in to follow this