Jump to content

Money's new(used) PC rig


Recommended Posts

Hey all, 

I finally bit the bullet and got myself a dedicated pc rig. 

It's a used Alienware Aurora R5 i7-6700k 4.0ghz, 512gb SSD/PCI3, 1TB 7200 rpm storage, 32gb DDR4 2133mhz ram, Nvidia GTX 1080 8gb. 850 watt Liquid cooled power supply with connections and space for a second GTX 1080. Unsure of motherboard but online search says comparable to MSI z170. Has 1 year of transferable warranty left.

The reason for getting a prebuilt computer was that after comparing prices for all the components, I would have paid more total price than I did and I was concerned about having compatability/construction issues and I like the fact I can deal with one manufacturer for any warranty issues.

I also like the fact that it is somewhat future proof and can handle processor, video card, ram and HD upgrades. 

So now that I have this setup, I would like to know all the ways to squeeze the max performance out of DCS, every windows 10 system setting to tweak, the best graphics setting I can handle with the least fps loss, etc...

Please let the tips and tricks start rolling in, I am very anxious to get back in the air!!!

Money

Edit- Not sure if this makes any difference but I have one 32" tv connect to the dvi port and one 27" monitor connected to hdmi port both running at 1080p. The video card also has 3 display port connections. Does this way of connection affect fps at all?

Link to post
Share on other sites

In 1.5 IMHO its a question of how much frame dip you want to accept worst case. 

F11 View at Novorossiysk around 020-040 is a pretty good stresstest.

 

First thing: disable civilian traffic. Just disable it. It is due to how DCS renders it pretty frametime intensive. 

Then Water to minimal, eats a lot of FPS as well for little effect, given how things are rendered. 

Shadows do impact FPS noticably, down to personal preference how far you want to crank them down. 

Preload max, visibility again to your liking and preference of lowest FPS drops. For trees and grass goes the same as visiblity range pretty much. 

Thats pretty much the settings I have found to produce noticable differences. Technically with a 1080 enough ram and a recent CPU there should be no reason to put down any of it, but yeah 1.5 seems to bee on keepalive from a engine perspective until 2.5 arrives which is understandable imho. 

Link to post
Share on other sites

Been tweaking settings little by little for the past week. Went into the bios to see about the overclocking and found the processor was running at 3.9ghz instead of 4.0ghz. I increased the overclock to 4.2ghz since Alienware markets the machine to overclock stably to that speed. 

Went back and put my textures to high from medium and in 1.5 and 2.0 I am now able to maintain 60fps stably. Notice tiny bits of micro stutter a few times but it happened and stopped so quickly that it really doesn't affect the smoothness. 

I didnt think that a 300mhz speed increase would make that much of a difference.

Jumped on 104th server with those settings and had no issues as well. 

Funny thing though. Alienware has a control panel in which you can see a real time graph of CPU, GPU and ram usage. At no time did the CPU, GPU or ram usage go to more than 40% except for an occasional spike up to 60% from the GPU but it was like a fraction of a second when it happened.

The game did stutter quite a bit while recording the graphs so I'm not sure if the stuttering was slowing down the CPU/GPU usage or if DCS is just not taxing the computer at this point. 

If it's not taxing, then not sure why I can't just crank everything to max and get smooth play. 

Edited by Money
Link to post
Share on other sites

The simple explanation: DCS 1.5 is engine wise very old at the core and thus pretty terrible in terms of efficiently using todays available computing power. 

 

The slightly more elaborate explanation is DCS is basically running 2 threads mainly. One thread does audio output, which is good since audio is very latency critical, you hear stutters way before you see them, and one thread which does all the rest, which is absolutely terrible concept for 2017.

 

So what does it mean now that DCS engine is basically single threaded for the most part, well everything happens in a consecutive way instead of parallel. So what that means is the single thread first has to execute some model calculations, like simulate the gameworld, in singleplayer thats about it, in multiplayer additionally it has to handle, form a high abstraction level, but still, network communication with the server and then it only can issue the corresponding rendering call to the GPU. That means if the model takes longer for reason X, networking takes longer for reason X, anything takes longer for reason X, the GPU just waits its arse off doing nothing. Thats why in 1.5 you basically never see high GPU util, since it simply is done so fast with rendering that it waits most of the time on the linear/consecutive task execution to reach the "render a frame" point again. 

That is also why civilian traffic is the biggest frame killer in DCS, its a lot more entities which have to be tracked by the engine, and no matter how fast your processor is, that is going to take _more_ time. Just for the sake of an example if traffic got moved to a second thread, which can run at the same time as the main thread which is doing the rest of the engine work, its not going to impact FPS anymore basically, since we nowadays have processors which can run 4/8 threads at the same given point in time and the civilian traffic thread will be done before the main thread is done and a new draw call is issues to the GPU.

Now what is the drawback, since obviously DCS ain't doing it. Well its hard[er] for the programmer. The problem mainly are race conditions and concurrency. The most widely used operating Systems are scheduling processes to have time on the CPU to calculate things by a priority assigned to them, that means you don't know exactly when your thread is going to get how much time on the CPU again. There is realtime operating systems which basically guarantee you as the programmer some kind of "it will take so and so long" specification, but that comes with a huge penalty in terms of latency, so that is not acceptable for gaming at all.

So what can happen is basically due to miraculous situations, to stay with my civilian traffic in DCS example, the civilian traffic thread is not done with its computation once the main thread expected it to be. If you do not account for that situation in your program, basically chances are high, everything goes terribly wrong. :D 

Same with networking for example, you don't want that processing information which is exchanged between your computer and the Server for multiplayer does influence FPS at all like it does heavily ATM. So you can again say hey lets do that in another thread, and here we have a much more delecate example of multi threaded concurrency problems. DCS probably has some kind of tickrate like every game engine pretty much has, a tick here is the smallest time interval the DCS engine can represent internally, if our main game engine thread right now is calculating the next position of $flanker in your face before it calls the GPU to render that situation and at the same moment the networking thread has completed its communication and a new dataset for the current server state, with the position of that flankers position, is ready. 

Now we get to the point where we have to organise somehow in which order things have to happen, since that isn't done anymore implicitly by all the steps being consecutively executed in the same thread. If the networking thread writes the position between the model is finished and the draw call to the GPU is issued, we might get warping just as an example. The Server state is a position in the past, so our client side model has to incorporate some kind of extrapolation on position by given speed lalalalalala all the things. If we just straight render the server state thats going to be bad. If now the networking writes data straight the moment while the frame is being rendered, things might get out of sync, your missile might be perfectly flying past that flanker in any complete dataset, but due to the client side extrapolated model and the server state get mixed up during rendering the GPU might render a mix of models which shows your missile intersecting the target but nothing blows up, because the model never saw or considered that since its only a product of mixing two datasets at different points in time.

So one has to account for all these timing issues and coherency problems with multithreading, which makes it a lot harder then just throw all the things in one thread and have the computer execute it one after another for you. But the second anything takes longer then normal in a singlethreaded scenario => framedrops. 

But yeah, its 2017, multithreaded programming has been around for more then freakin 20 years by now. Its no rocket science and while it might be close to it in some cases even with "simple" decomposition in threads there is a lot of performance to be gained.  But DCS 2.0 already does a LOT better job at simply optimizing draw calls and while it ain't perfect, it will lead to your GPU be a lot more busy. And for example they also got hold of the civilian traffic problem, switching that of in 2.0 gives me like 1fps difference max. while in 1.5 it does like 10-15 based on the scenario. 

So we hope for the savior 2.5 to bring some more legid game engine design for 2017. :D And by the looks of it it will eat GPU compute power alive based on lighting and physical rendering. :) 

 

P.S.: Friend of mine has showed me video in the past which very nicely showed the impact multithreading can have on performance in a positive way on something as simple as an MMO [in comparison to DCS]. Nice explanation graphical representation of frametimes and such. Will add that as soon as he wakes up in murrica again and he can tell me what the name of the game was again. :D 

 

P.P.S: Disclaimer just before anyone jumps me. :D I simplified the whole subject to the limit for the sake of explanation, I am aware. :) 

Edited by microvax
added disclaimer
Link to post
Share on other sites

Microvax, Money has the latest graphics card, why turn things down? I built my gaming rig just for DCS, like lots of other players and can get close to 60fps with my GTX 970/I5 2500k CPU on max settings. Water low? Civ Traffic off? No thanks. Money has a more powerful setup than me.

Crank it up Money and enjoy the view, especially if you fly choppers or Strike aircraft. I'll be damned if i paid all that money to go ahead and turn stuff down or even off just to gain some more fps.

Link to post
Share on other sites

Highway,

I wish I could crank it up to max and get 60fps across the board. Unfortunately I have water set to low, civilian traffic set to medium and terrain set to medium, visibility set to medium. Going to higher setting in any one of those will bring me increased stuttering and fps drop well below 60. 

Im almost positive that there is some way to increase my settings higher. But I think it has to do with some settings in windows10. The most I have seen DCS using in ram is 5gb and cpu at 30%. There has to be a way to get it to utilize more. 

I must say though as it is now, compared to the settings I was using on my Mac Pro, the visual enhancements are a night and day difference. 

Link to post
Share on other sites

Microvax, Money has the latest graphics card, why turn things down? I built my gaming rig just for DCS, like lots of other players and can get close to 60fps with my GTX 970/I5 2500k CPU on max settings. Water low? Civ Traffic off? No thanks. Money has a more powerful setup than me.

Crank it up Money and enjoy the view, especially if you fly choppers or Strike aircraft. I'll be damned if i paid all that money to go ahead and turn stuff down or even off just to gain some more fps.

I did explain in a lengthy fassion why DCS is a from a technical standpoint a piece of shit . Thats why one has to turn things down in dcs 1.5 to get stable frames above 60fps. The rendering complexity is low, like any modern game engine would crush 60fps 10/10 times on maximum settings possible in DCS, but its due to the way DCS schedules that that simply doesnt work out. 

I have a overclocked to the architecture limits GTX1080, 64GB of quad channel DDR2133 RAM, running a Intel750 PCI-E SSD with the corresponding latencies. Believe me, I do not have a reasonable bottleneck anywhere within the consumer grade hardware arena. Still Novo looking something like 050 will break FPS with certain settings below 50, ridicoulous loading times even if the needed data is cached. 

The very simple explanation is DCS engine is inefficient beyond repair.

 

2.0 is a lot better and looking at what is announced for 2.5 it will get better so better hardware will actually significantly improve FPS, but atm the FPS gain with raw compute power gain is disproportional beyond reypair in 1.5.

Link to post
Share on other sites

Highway,

I wish I could crank it up to max and get 60fps across the board. Unfortunately I have water set to low, civilian traffic set to medium and terrain set to medium, visibility set to medium. Going to higher setting in any one of those will bring me increased stuttering and fps drop well below 60. 

Im almost positive that there is some way to increase my settings higher. But I think it has to do with some settings in windows10. The most I have seen DCS using in ram is 5gb and cpu at 30%. There has to be a way to get it to utilize more. 

I must say though as it is now, compared to the settings I was using on my Mac Pro, the visual enhancements are a night and day difference. 

Yeah I feel you :D 

Visibility didnt do as much for me, I have it on the second highest setting, civilian traffic in 1.5 really is the biggest frame eater for me. They seem to track that extremely inefficient. 

No there is no way, like no legid way to get really more out of the 1.5 engine. We tried a lot and basically the end to it all is 1.5 engine is not up to the task to use the computing power a GTX1080 and other high performance GPUs are capable to deliver. And that is in Win10, win7 and win8. 

Yep, DCS is not really into the whole preloading thing. Thus it really doesnt use a lot of RAM. That at least would be the easiest way to use more RAM in a reasonably usefull scenario. Its crazy.

And since the functionality to use more resources is simply not there at all, we can build the most OP rig, its not going to use more then it can with the way its coded.

 

Its super annoying, but yeah, 2.5 2 weeks TM hopefully. I like to fly in 2.0 because of this, there one actually gets FPS based on available computing performance and not based on the ticks of badly engineered code :D.  

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.