Kenshi

Kenshi

Ver estadísticas:
Grimzokk 5 AGO 2017 a las 13:00
Performance Bottleneck ?
Hello folks,

My simple question (most likely for a dev) would be where the actual bottleneck for kenshi is.

My Specs: [no overclocking]

i7 7700k
ZOTAC GTX 970 AMP! Extreme Core Edition - 4GB VRAM
16GB RAM
m.2 Samsung 960 Evo SSD

The reason I am asking this is because I was trying tweaking the settings to find a good middle for performance/beauty and thought a monitoring tool would help me find the bottleneck. Thought it must be CPU or GPU but neither of them is at any time in the game at 100% capacity. Only one exception so far, where the GPU was at it's limit, was in the windy sandstorm area in the north west (Purple Sands).


Here are 2 Screenshots i made in the fog islands.

http://steamcommunity.com/sharedfiles/filedetails/?id=1101550865

Cut off Option Settings are:

Resolution: 1920x1080
FXAA [x]
HeatHaze [x]

http://steamcommunity.com/sharedfiles/filedetails/?id=1101550929

If I am missing any information let me know.
Última edición por Grimzokk; 5 AGO 2017 a las 13:01
< >
Mostrando 16-29 de 29 comentarios
Grimzokk 7 AGO 2017 a las 15:33 
Publicado originalmente por HaTsUnE_NeKo:
Publicado originalmente por Grimzokk:
The best thing to happen would be everything at 100% capacity. It might sound wrong but it is not.

it is wrong
setting a computer to run at 100% will cause issues. major ones. you literally could fry your computer.
I been working on and off on computers for 30 years. if you wanna fry your computer, then remove its limits, guaranteed you will then have a smoking husk in a metal shell.

basically what you want is to overclock the CPU and GPU.
overclocking sets computers to run above the set limits, this can and has caused computers to die. even people who know what they're doing have lost computers doing this.

i'm not one of them, i never overclock because i can't afford to replace parts and i don't have that deep of knowledge in doing so nor a proper heatsink setup to deal with the overheating.

Sorry but you have no idea then. 100% workload doesn't mean you "fry" your pc lol.
There are NO workload limits. there are only temprature/volt limits which are only important for overclocking.

If your system runs at 70% means you have 30% FREE resources for nothing.

If your system runs with 10% workload without kenshi/any other program and you start a game/program, your PC gives everything to run said game/program. If said game/program gets processed for 1 fps and you are at lets say 11% workload then your pc processes MORE fps which consume more workload.... this goes up to 100%. It's simple as that. 30 years worked on or off computer doesn't mean anything. EVERY program/Game with an unlimited framerate will show your PCs bottleneck with said game/program. If your FPS are capped with VSYNC for example then your PC can and will save up on workload because it has to process less FPS than it actually could.
Grimzokk 7 AGO 2017 a las 15:47 
Just to prove my words here 2 screenshots from a game that you wouldn't think of is using 100% workload.

Capped framerate using vsync:
http://steamcommunity.com/sharedfiles/filedetails/?id=1103802298

No frame limit:
http://steamcommunity.com/sharedfiles/filedetails/?id=1103801300


On this example you can clearly see that 100% workload (this game is utilizing more GPU than CPU) isn't frying my pc or causing issues. This is how it should be.
Maybe you didn't understood me what i was talking about. I hope I made it more clear this way.
Nadlug 7 AGO 2017 a las 15:48 
Publicado originalmente por Grimzokk:
It might sound wrong but it is not.

When any program request memory access when tehre is none avalible the program crashes instantly. This was a problem with kenshi not too long ago.

When a CPU core hits its capacity it has to pause applications to free up computing cycles to think on where it needs to free up some computing room in the event the Kernal executes a priority command for one reason or another. As a user all you will notice your whole system slow down since the OS dosent slap a big red flag onto your display when the a CPU core hits its capacity. But if you go into your event viewer youl find a slew of interrupt faults and addressing issues. Any one of which can become a big problem as I stated before.

Not to go into too much of detail but people often mistakingly assume that in binary logic 0 is off, and 1 is high. It isnt that simple. 0 will register from a low range of voltages and 1 comes from a higher range. This is because cycling a current completely off and on repeatadly generates alot of signal noise and unessisary strain on the circuit. The When two sources of volts run the same circuit their voltage combaines additively which can cause 0's to become 1,s and 1's to burnout whatever component they happen to be passing through at the time, since it was only designed to accept a specific range of voltage.

This is why no matter how good your coolant setup is you cant infinitely overclock a CPU/gpu/memory. Eventually signals start bleeding into one another, jumping contacts and burning out components.

As I said initialy the bottleneck is the games engine. Chris Said the same thing. It itself can only process so much information reguardless of the resources its given. And any decent OS will not give 100% resources to any single process.

The fact of the matter is that most applications, including the game itself and your operating system, All preferr Core 0 on your CPU reguardless of any core affinity settings youve set. You can blame microsoft for that, instead of leading technology into a future of adaptive processing they instead played around with the idea of subscription based OS's. Because they dont overcharge us enough. God forbid you buy prebuilt systems from branded distributors and have the fun of all the bloatware that includes.

Publicado originalmente por Grimzokk:
Just to prove my words here 2 screenshots from a game that you wouldn't think of is using 100% workload.

Capped framerate using vsync:
http://steamcommunity.com/sharedfiles/filedetails/?id=1103802298

No frame limit:
http://steamcommunity.com/sharedfiles/filedetails/?id=1103801300


On this example you can clearly see that 100% workload (this game is utilizing more GPU than CPU) isn't frying my pc or causing issues. This is how it should be.
Maybe you didn't understood me what i was talking about. I hope I made it more clear this way.

Vsync locks your frame rate to your displays refresh rate (when it works, often it dosent)

That has no impact on CPU performance and makes your GPU work less.

To put it bluntly, your examples dont prove your point. For a start your examples dont even show the framerate being obtained. The example itself is also a no strain prerendered title screen. And still nothing hit 100%

Sitting at Kenshi's Splash screen my framerate hits 4500-5000. Not supprising as its a still image with background music. nothing challenging there. My CPU sits at 40% while on the screen, round 32-33% when i have the steam overlay up, typing this out.

While Loading Framerate drops to 8 and CPU utilization dips slightly as all that is happening is data is being exchanged from storage medium to memory.

Ingame paused i get around 100 fps, CPU sitting at 25% usage Core 0 sits at roughly 70% while cores 1-7 barely push 20%

Unpaused total CPU usage still dosent change while core 0 fluctuates as things occur, fps ranges from 60-100 depending on angle of view, and zoom level.

The thing to take form this is your system is designed to hold some resources in reserve in the event that they are urgently and suddenly needed for another task, such ass. Launching 3 other games on steam.
Última edición por Nadlug; 7 AGO 2017 a las 16:04
Grimzokk 7 AGO 2017 a las 16:03 
erm.... yea.... 98% gpu load is not 100%....

It doens't matter WHAT is computing.... ingame or JUST a title screen... you rly can consider 98% as 100% to clear your confusion.

And why does this prove nothing ? it proves that 100% workload doesn't cause issues or making your PC explode and it is NOT a prerendered title screen

It doesn't show my framerate ? look closer pls. D3D11
Nadlug 7 AGO 2017 a las 16:06 
Publicado originalmente por Grimzokk:
It doesn't show my framerate ? look closer pls. D3D11

Apologies, that font and text color is eye searingly irritating to read, for me at least. Moving onto launching 4 games in steam...

Righy oh then. Running Kenshi, Mount and blade Warband, Sins of a Solar empire, and Space pirates and Zombies 2. Notably, My mouse cursor is stuck in one spot, no wait fixed that. Sins captured it in place untill you fully initiate the window.

Total CPU utilization jumps up to 78-83% Core 0 sits at around 95%, core 1 id say 85-90%, 2 at 90%, 3, at 95%, 4, 75%, 5 70%, 6 75%, and 7 sits at the 70 range as well.

No single core caps ever caps out, Adding more load will jump up core 0 mostly untill the processes are pushed aside to other cores. Eventually i could put more and more work load on my CPU and i would see performance loss in the programs themselves as the processor is instructed to save a reserve for additional instructions.

That really is just how the hardware is made to behave.

Publicado originalmente por Grimzokk:
And why does this prove nothing ? it proves that 100% workload doesn't cause issues or making your PC explode and it is NOT a prerendered title screen
It proves nothing because GPU's are designed differently from CPU's. We were discussing CPU and memory utilization previously. As to how they are different, they can more easily vary their clock speeds and work loads to prevent damaging theirselves than CPU's can.

Example, GPU's slow down over thier temperature safetly threshold, and shut down at criticle temperature. CPU's only recently gained this ability and still arnt perfect at it. They are more likely to just shutdown outright while overheating.

And yes, that is a pre rendered title screen. I can load up my copy of banished and see the exact same video file.
Última edición por Nadlug; 7 AGO 2017 a las 16:24
Grimzokk 7 AGO 2017 a las 16:16 
Publicado originalmente por Nadlug:
Apologies, that font and text color is eye searingly irritating to read, for me at least.

If you run a monitoring tool (RivaTunerStatisticsServer) you want as less resources used for that tool as possible ;P

Publicado originalmente por Nadlug:
Moving onto launching 4 games in steam...

There is nothig wrong with that..... except your system will run pretty slow since it have to split the resources between those 4 games + background programs ;)
Nadlug 7 AGO 2017 a las 16:33 
Publicado originalmente por Grimzokk:
Publicado originalmente por Nadlug:
Moving onto launching 4 games in steam...

There is nothig wrong with that..... except your system will run pretty slow since it have to split the resources between those 4 games + background programs ;)

Yes absolutely, and thats the point. The programs loosing performance is a direct result of Your system reserving resources in anticipation for new processes to be loaded.

Not trying to brag, but ive still got all4 games up and runing, Sins Framerate is 142 which is probably being held at that level by the Gsync in my display, SPAZ2 is at 70-90, M&B Is at 144 again locked by Gsync (my refresh rate is 144Hz) and kenshi is happily buzzing along at 60-80.

The i7 kabby Lake 7700 that you and I both have is a very good chip for gaming, but its still hamstrung by its written limitations. 1 process can only exist in 1 thread at 1 time. There is currently no way around this other than splitting your game into several processes. Some things however cant be split as doing so would cause communication and fault checking delays.
Grimzokk 7 AGO 2017 a las 16:47 
And what does this prove ? Computers don't save up resources for programs that MAY be getting launched... it will just keep the 100% workload and slow down the running program and give the starting program as much as it's needs/wants.

Let's say you have program [1] running with 100% and 100fps overall workload and you start program [2] that has also unlimited framerate and would also run at 100fps if there wouldn't run anything else.Each program will get 50% of your capacity. program [1] and [2[ will then run with 50 fps. So on and on.... but if you overload your system with too much workload and your system will just be able to process just 1 fps or so your pc will most likely freeze.

But that has nothing to do with my question asked ion the first post :P

Kenshi is running and it's running smooth... utilizing more resources would boost the fps and DON'T slow anything since everything is already processed and the exceed is processing the more fps.
Nadlug 7 AGO 2017 a las 17:02 
Except that is exactly what they do, Just because you state they dont dosent mean its true. Though observation, both yours and mine we can see that they do hold resources in reserve. 98% even for a GPU is not 100% It is setup so that when a new process is started it has resources to run. If not it would immedately crash on startup

if you cant accept that its a fact of computer engineering and design that a reserve of resources is always to be maintained then thats on you man. Keep on refusing to accept facts.

Kenshi is using as many resoruces as your operating system is giving it, and there is nothing the developers can do to change Microsofts programming, or the hardware designs.
Última edición por Nadlug; 7 AGO 2017 a las 17:08
Grimzokk 7 AGO 2017 a las 17:13 
Publicado originalmente por Nadlug:
if you cant accept that its a fact of computer engineering and design that a reserve of resources is always to be maintained then thats on you man. Keep on refusing to accept facts.

No it's not... 98% is just shown because missmeasuring. it sometimes jumps to 100% but again.... it's just missmeasuring. Thats the fact.... accept it or not.

~70% load on CPU and GPU is because it's holding up resouces for programs that MIGHT get started ? I don't know where you get your "facts" from but that's nonsense.

I think we stop this discussion here because it's leading to nowhere. Let's just see what the finished product will looks like at the end.
Nadlug 7 AGO 2017 a las 18:21 
From the simple fact that ever since I first doubleclicked on the minesweeper icon some two decades ago on my familys packard bell PC I have worked with computers. And how any, and every time you run any process it never will cap out your resources unless you are multitasking to an extreme degree, or your trying to do something extreme in some other way.

Additionally the fact that we both have the same CPU, and run the game on similar settings. But my system runs it at a higher framerate using roughly the came settings tells me that, as i staided before, Its not a CPU bottleneck like you seem so keen on.

Myself and two others, one a comunity moderator the other who has probbly answered this very question more than a dozen times by now, the games lead creator have told you what is happening. And yet you still persist on ignoring everything we've said sticking with your own assumptions.

There are mistakes in both assumptions.

Right now i am at work and can´t explain how Operating Systems works, but if both of you are interested you can read about scheduling, dispatching, and interruptions.

https://en.wikipedia.org/wiki/Scheduling_(computing)

Note that i didn´t read the wikipedia article so there may be some prior knowledge required to understand.

GPU works a litlle different


Captain Deathbeard  [desarrollador] 8 AGO 2017 a las 7:37 
Even though its single threaded doesn't mean it's all on core0, GPU memory and thread usage are the 2 things windows doesn't developers any control of.
So though it may be 1 thread, it can still jump around between cores:
https://gyazo.com/2c93768de091bdec06fb9cb3e708b4a4

Regardless of what core the renderer is sitting on, no other core can touch it's stuff while it's working, so it amounts to a single thread in practice.

here you see the main thread is full, with occasional scatterings of red where it's running batches of worker threads to process something faster. The 2 main backthreads going on just below it are most of the game logic for one, and the other is the physics and pathfinding:
https://gyazo.com/a29b9c5d8cc7c08836552699958d9127

BloodSpark 7 SEP 2018 a las 1:21 
Simple man terms. The engine regarless of the abundance of resources provided. Will not exceed paramiters/Output boundries/ FPS/ General performance output. Set By the ENGINE developers at the time.

Think minecraft for example increase the ticks in game. Crops grow faster.
If you can't tell the computer to utilize for more reasources and display at a higher refresh, it won't


I have gotten 70 -90 fps on a old version, with fx 8370 and a r9 390.
However with more recent engine updates, despite the program utilizeing less than 40%GPU and 35% CPU I get avg of only 15-20 fps.

Turning graphical settings to high, and low with rebooting game. Regestry reprograming tweaks.
I have found no usable modding options for increasing overall playabilty.

Which is inferiating.

But i have over 580hrs, SO not discouraging enough to stop playing as long as i have.

Only complaint is I really am bothered by the no multiplayer feature but it's out of my hands.
And i can't program.
< >
Mostrando 16-29 de 29 comentarios
Por página: 1530 50

Publicado el: 5 AGO 2017 a las 13:00
Mensajes: 29