Jump to content

0.23 should focus on performance


Recommended Posts

The title basically says it all. I love the way that Squad is making this game, with each update this game gets better and better, and 0.22 is just awesome. However I belive that the next step should be implementing multi core support, I know that it is difficult with unity and KSP (at least that's what I heard), but I belive this should be done next. I have a very strong machine, however as soon as I build a bigger spacecraft the game starts lagging so I believe that this should be taken care of next.

Once again I love all the work that squad has done so far keep it up! :D

So what is your opinion on this?

P.S. I know it is still early to talk about 0.23 but I thought I might just as well start the topic.

Edited by Overlord
Link to comment
Share on other sites

Multicore support can only happen if unity developers do it, otherwise it would have been implemented a long time ago. The issue is mostly with the PhysX implementation that unity uses, it is simply very old and squad can't do much about it on their end.

However a major code overhaul is coming soon, as the optimization was supposed to be featured in 0.22 but got delayed since it still needs to work out some issues. It is supposed to be a significant performance boost.

Link to comment
Share on other sites

I think that performance should be left for version 0.90 and up, since right now, the game is unfinished. If performance were added right now, then as new features come in, it could ruin all the hard work that was put into performance. I say add the features now, then work on perfecting it later.

Kerbal Space Program isn't too bad performance-wise....

Of course, I would really like if the game wouldn't crash at 3.7 gigabytes of data usage. I've considered installing Linux so I can have more mods.

Link to comment
Share on other sites

KSP performs quite nicely, if you're not intent on launching 1000 part monstrosities...

Not really.

- long loading times.

- long scene transition times for given (low) visual fidelity

- generally low FPS for the given visual fidelity

- inconsistent FPS ( -> stuttering)

- Ocean LOD causing extreme FPS drops for some people,

- AA unusable on AMD gpus because of extremely low FPS when looking at the Horizon and in general

- freezes on soi change

- lag on timewarp changes in orbit around a body with the new terrain system

- insane RAM usage,

Link to comment
Share on other sites

Not really.

- long loading times.

- long scene transition times for given (low) visual fidelity

- generally low FPS for the given visual fidelity

- inconsistent FPS ( -> stuttering)

- Ocean LOD causing extreme FPS drops,

- AA unusable on ATI because of extremely low FPS when looking at the Horizon and in general

- freezes on soi change

- lag on timewarp changes in orbit around a body with the new terrain system

- insane RAM usage,

THIS! Unfortunately ALL of this applies to me! Well, all expect RAM usage.

Seriously, that water lag REALLY needs to go.

Link to comment
Share on other sites

It's not actually, it's just incapable (at this time) of splitting a thread over two or more cores, but the lions share of the processing is the physics.

Unity is multi-core, just not multi-threaded yet.

It'll come, as Unity update their framework we'll see improvements in KSP as well :)

Link to comment
Share on other sites

Also, there are performance updates coming. One of the devs managed to get a 30% speed improvement and some more memory optimizations working, but the update didn't pass QA in time for 0.22 from what I understand (in fact, I haven't heard that they've definitely passed QA at all at this time).

Link to comment
Share on other sites

Also, there are performance updates coming. One of the devs managed to get a 30% speed improvement and some more memory optimizations working, but the update didn't pass QA in time for 0.22 from what I understand (in fact, I haven't heard that they've definitely passed QA at all at this time).

Like I said that is still being worked on, I don't remember if HarveR, C7 or maxmaps said it during one of the recent squadcast streams or in the recent interview on bigsushi.fm (that one has some nice hints at the end on what 0.23 is going to be about, but I digress), but basically it was confirmed that it's not ready yet for release unfortunately but still being worked on.

Link to comment
Share on other sites

you usually wait till later in the development to start optimizing. once you have things close to the final product, you profile it, find areas that are wasting time and try to optimize those. thats the science part in computer science. of course there are things that could be done now to help improve things like memory usage. you cant use more threads or produce stable x64 builds at this time, but you can start supporting compressed texture formats which would reduce memory usage and loading times.

Link to comment
Share on other sites

KSP performs quite nicely, if you're not intent on launching 1000 part monstrosities...

This statement itself is quite contradicting....

It is sad that ONLY 1000 parts bring the game to crawling speeds, even 300 parts make the game perform very slowly. And this is bad performance, compared to what modern PCs with decent physics engines can handle. There are games that can handle (with a decent framerate) up to 1k "parts" and techdemos that can handle way more.

But yeah I do understand swapping a physics engine is no small task but there are unity wrappers for bullet physics(another physics engine) that shows considerable performance boost compared to physx and there are games that managed to swap the engine mid development.

IMO the only thing KSP needs is better physics performance, everything else is of secondary importance... (but that just my opinion)

Also about claims that there is no benefit on offloading physics simulation on GPU: http://gpuscience.com/cs/real-time-opencl-gpu-110k-rigid-bodies-simulation-on-radeon-7970/

Link to comment
Share on other sites

Yes, it is possible to offload physics calculations to the GPU. However, last I checked, the current build of Unity has not integrated an up-to-date enough version of the PhysX engine for that to be possible.

Link to comment
Share on other sites

Yes, it is possible to offload physics calculations to the GPU. However, last I checked, the current build of Unity has not integrated an up-to-date enough version of the PhysX engine for that to be possible.

This is one of my problems, why the need of "integrated physX engine" which is sadly, the worst (performance wise) option. What I am sugesting is to drop the default PhysX engine, and use something else (bullet engine for example).

Rawbots swaped from physx to bullet engine, mid development:

I know is no small task, but it is doable.

EDIT: vexx32 there were many discussions on forums and irc, and one of the argument that kept popping out was how it is not possible to viably paralellize rigid body solvers, and hence pointless to offload physics to GPU.

Edited by Tsuki
Link to comment
Share on other sites

It is sad that ONLY 1000 parts bring the game to crawling speeds, even 300 parts make the game perform very slowly. And this is bad performance, compared to what modern PCs with decent physics engines can handle. There are games that can handle (with a decent framerate) up to 1k "parts" and techdemos that can handle way more.

But yeah I do understand swapping a physics engine is no small task but there are unity wrappers for bullet physics(another physics engine) that shows considerable performance boost compared to physx and there are games that managed to swap the engine mid development.

If a craft has 1000 parts, each part has physics applies to it separately. Subtract a couple of hundred for struts and you have 800 or so parts all requiring physics calculations.

Now, go load up Garry's Mod, spawn in 800 props and fire a rocket at that pile of props. It will hurt your framerate considerably unless you have a very good computer.

As Sal keeps pointing out, Squad can do next to nothing about this aside from sending angry letters to Unity or completely changing their game engine to something more powerful.

Link to comment
Share on other sites

Epthelyn read my second post. And no Garry's mod is not a good example to compare to.

no need to change game engine, just physics engine: in my 2nd post I mentioned Rawbots that also uses unity had changed from stock physX to bullet physics engine(while still using unity) quite late in the development (so clearly its not impossible). One thing with unity is that altho you get ready solutions for most the usual game's challenges(ex: phsyX engine), you are by no means forced to use them, and using other solutions is only a question of effort vs. benefit. And IMO in KSP's case it would totally be worth the effort... but thats just my opinion.

I do not want 10s of thousand parts, even 1000 parts running smoothly would be great, and if performance is scaled with modern hardware, would be even better. Remember making a usable space station and docking with it with a SSTO or any vessel while keeping total part count <300 demands some really ugly and not particularly useful designs (unless going heavy with mods to reduce part count). And 300parts already eats performance so much is not really enjoyable.

bonus: this is coming to bullet 3.x

but even without this new rigid body solvers bullet is faster. Edited by Tsuki
Link to comment
Share on other sites

Not really.

- long loading times.

- long scene transition times for given (low) visual fidelity

- generally low FPS for the given visual fidelity

- inconsistent FPS ( -> stuttering)

- Ocean LOD causing extreme FPS drops for some people,

- AA unusable on AMD gpus because of extremely low FPS when looking at the Horizon and in general

- freezes on soi change

- lag on timewarp changes in orbit around a body with the new terrain system

- insane RAM usage,

I will keep saying this until some dev reply.

All the things in your list can be solved if we remplace most parts for procedural parts that will snap between standard sizes.

Also we would have a lot of extra parts and sizes to use, our crafts will look more real and any upgrade on the physsics models would be easier to update.

Link to comment
Share on other sites

AngelLestat although I do agree with you that having stock procedural parts would be nice, there are mods that provide this and making it stock would not change much. However increasing base game performance (mostly physics engine) would mean a whole other level of awesomeness, as the ships having few parts are dull in terms of their looks and how they "disassemble" when there is a structural failure, not to mention it takes that LEGO feeling out of the game.

Edited by Tsuki
Link to comment
Share on other sites

multicore is really handy they really should just like multithreading and 64bit support but unity doesn't support that. (fuuu unity for that) cuzz macs always (since 2007) have a 64 bit system which makes them faster. but i think they shouldn't focus on multicore but graphics card, i have 256mb so maybe if they make an settings in the launcher that is for older computers. (graphics as lowest as possible at least it doesn't override the 256mb) that would be really nice and it would be an big (even more bigger milestone) update and players like me know what it is to have an pretty good computer but the graphics card SUCKS!

(before i posted this i was writing about that multicore wasn't handy but it frickin is)

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