Optimization NEEDS to be improved on

Discussion in 'Ideas and Suggestions' started by stewartps, Mar 23, 2015.

  1. stewartps

    stewartps
    Expand Collapse

    Joined:
    Mar 22, 2015
    Messages:
    4
    So I've played this game for about 3 Hours now and I must say everything about this game is seriously awesome, it's my ideal game for sure. However the one thing i'm not impressed on is the optimization. I have a 4K Monitor and I don't expect to run games at 4k, only some will. I can normally play 99.9% of games on 2k resolution apart from BeamNG. This includes games such as BF4, Dying Light, Advanced Warfare so all the next gen games and many more. I can even run Battlefield hardline on 2k resolution with maxed out settings at around 80 FPS however on BeamNG i struggle to get 30 FPS and can't really get past 45 FPS on GridMap. Here's also the funny thing, I've tried setting 2k resolution ,but with absolutely the lowest other settings, and weirdly enough my frames change by about 5 and yet again 30-35 FPS. I've tried going down to 1920x1080 (which looks dreadful on my 4K monitor) and i've turned the graphics up to near full and the framerate varies a lot, sometimes 45FPS sometimes 60FPS. I've tried messing around with the settings ,but it doesn't appear to be helping. I'm super confused because as of right now I'm having a difficult time playing BeamNG :( Is there something i'm missing out on ? Like a specific setting? I believe my CPU is overclocked to 4.2GHz also.

    System Specs:

    [TABLE="class: section, width: 643"]
    [TR]
    [TD="class: primary-title, align: right"]Processor[/TD]
    [TD="class: value"]Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz[/TD]
    [/TR]
    [/TABLE]
    [TABLE="class: section, width: 643"]
    [TR]
    [TD="class: primary-title, align: right"]Video Card[/TD]
    [TD="class: value"]NVIDIA GeForce GTX 980[/TD]
    [/TR]
    [/TABLE]
    [TABLE="class: section, width: 643"]
    [TR]
    [TD="class: primary-title, align: right"]Memory[/TD]
    [TD="class: value"]8.1 GB[/TD]
    [/TR]
    [/TABLE]
    [TABLE="class: section, width: 643"]
    [TR]
    [TD="class: primary-title, align: right"]Operating System[/TD]
    [TD="class: value"]Microsoft Windows 7 Home Premium Edition Service Pack 1 (build 7601), 64-bit[/TD]
    [/TR]
    [/TABLE]
    Thanks in advance,
     
  2. Nadeox1

    Nadeox1
    Expand Collapse
    Spinning Cube
    BeamNG Team

    Joined:
    Aug 5, 2012
    Messages:
    14,697
    Main problem is vegetation and LOD.

    LOD is currently calculated on resolution. So if you have lower resolution, Lower Detail models start to appear nearer, and using higher resolution will make them appear at a more distance. Basically BeamNG performance scales up bad with resolution. That's already known and is being looked after.
     
  3. stewartps

    stewartps
    Expand Collapse

    Joined:
    Mar 22, 2015
    Messages:
    4
    I'm really hoping that's the case because it's really odd. I'm on the level port and I've parked just outside the pitstop. I look one way and i get a stable 60FPS, it doesn't change at all. When i look the other direction however it drops straight down to 30 FPS.

    Thanks for the fast reply
     
  4. Driv3r1142

    Driv3r1142
    Expand Collapse

    Joined:
    Feb 15, 2015
    Messages:
    1,941
    I have specs worse than yours and I can pull 50-60 FPS on default maps and my map, with settings set almost like yours
    I have a few things to tell you;
    1. Turn off Vsync. You may not be able to handle it, and it doesn't really change much on screen.
    2. Turn off the following PostFX systems;
    *a. Light Rays
    *b. DOF

    Next, try the following screen resolution;
    1336x768(the resolution of my monitor.)

    Turn off A.A(Anti Aliasing,) as for this will eat your framerate.
    On those specs I can certainly tell you what settings you can max out safely;
    Mesh Quality-High
    Texture Quality-High
    Lighting Quality-High
    Shader Quality-High

    If you still have instabilities, Then slowly start lowering your settings.
    I know on my end I managed a pretty stable FPS by disabling the fps limiter and enabling Vsync.
     
  5. stewartps

    stewartps
    Expand Collapse

    Joined:
    Mar 22, 2015
    Messages:
    4
    Thank you for you suggestions. However I refuse to go lower than 1920 x 1080 resolution, it looks dreadful on my monitor even at 1920 x 1080, i can't imagine what It would look like. It would probably run without any issues ,but like modern games id like to have a mix of performance and graphical quickly as a pose to one or the other. I really thing this urgently needs to be worked on

    - - - Updated - - -

    Just to add to my problems, BeamNG seems to always be crashing after about 10 minutes of gameplay. Normally it's after i've spawned in a vehicle. I hate to say it at the moment ,but for me this game is practically unplayable.
     
  6. mrboojay

    mrboojay
    Expand Collapse

    Joined:
    Aug 25, 2014
    Messages:
    157
    Are you playing full screen? As far as looks if you have it windowed it will look a whole lot better in 1080 then on full screen. As far is performance I don't really know the impact that provides. I play on a 1680x1050 monitor and play the game at 1440x900, and everything looks pixel sharp but I am using it windowed. I also prefer it as it is easier to keep the game running and do other things like downloading mods and mov the game between monitors (I have 3).

    Hmm...in looking my video card is worse then yours and I get pretty good FPS at maxed settings (I might be down a tad or even off on A.A.) though I again do play at 1440x900.
     
  7. pulley999

    pulley999
    Expand Collapse

    Joined:
    Jan 21, 2013
    Messages:
    824
    As Nadeox said, Level of Detail mesh placement is calculated based on how many pixels an object takes up on screen. The theory being you'll never see object popin/switching if an object takes up a predefined amount of pixels before switching to the low-detail variant. A sound theory, but at high resolutions it falls apart with only the furthest objects switching to low detail.

    This can be subverted by lowering the Model Detail setting, which effects when LoD meshes are swapped in except for its lowest setting, which provides a global quality lowering. For 4k, I'd recommend trying to use Mesh Quality at Low. It shouldn't impact visuals hardly at all while dramatically reducing the number of polygons to be drawn. I play at 1440p with the first build in my signature with Low mesh detail, Normal lighting, 2x AA and everything else maxxed at 40-60 FPS.

    The biggest FPS sucker is (or used to be) ambient occlusion. If you can do for a shadow downgrade, this might be one to look at.
     
  8. NaxNir

    NaxNir
    Expand Collapse

    Joined:
    Jan 28, 2014
    Messages:
    618
    I have a 980 and I can run 60 FPS on most maps @ 1440p. On maps like GridMap I can run @ 4k (EDIT: at 60FPS). Here is my settings:

    PostFX
    Code:
    $PostFXManager::Settings::ColorCorrectionRamp = "scripts/postfx/color_ramp_default.png";
    $PostFXManager::Settings::DOF::BlurCurveFar = "10.7477";
    $PostFXManager::Settings::DOF::BlurCurveNear = "29.3023";
    $PostFXManager::Settings::DOF::BlurMax = "0.158879";
    $PostFXManager::Settings::DOF::BlurMin = "0.38785";
    $PostFXManager::Settings::DOF::EnableAutoFocus = "0";
    $PostFXManager::Settings::DOF::EnableDOF = "";
    $PostFXManager::Settings::DOF::FocusRangeMax = "74.7756";
    $PostFXManager::Settings::DOF::FocusRangeMin = "191.597";
    $PostFXManager::Settings::EnableDOF = "1";
    $PostFXManager::Settings::EnabledSSAO = "1";
    $PostFXManager::Settings::EnableHDR = "1";
    $PostFXManager::Settings::EnableLightRays = "0";
    $PostFXManager::Settings::EnablePostFX = "1";
    $PostFXManager::Settings::HDR::adaptRate = "2";
    $PostFXManager::Settings::HDR::blueShiftColor = "0.988235 0.988235 0.992157 1";
    $PostFXManager::Settings::HDR::brightPassThreshold = "0";
    $PostFXManager::Settings::HDR::enableBloom = "1";
    $PostFXManager::Settings::HDR::enableBlueShift = "0";
    $PostFXManager::Settings::HDR::enableToneMapping = "0.316327";
    $PostFXManager::Settings::HDR::gaussMean = "0";
    $PostFXManager::Settings::HDR::gaussMultiplier = "0.0793651";
    $PostFXManager::Settings::HDR::gaussStdDev = "0.0476191";
    $PostFXManager::Settings::HDR::keyValue = "0.408163";
    $PostFXManager::Settings::HDR::minLuminace = "0";
    $PostFXManager::Settings::HDR::whiteCutoff = "1";
    $PostFXManager::Settings::LightRays::brightScalar = "0.75";
    $PostFXManager::Settings::SSAO::blurDepthTol = "0.3";
    $PostFXManager::Settings::SSAO::blurNormalTol = "0";
    $PostFXManager::Settings::SSAO::lDepthMax = "5";
    $PostFXManager::Settings::SSAO::lDepthMin = "0.165877";
    $PostFXManager::Settings::SSAO::lDepthPow = "0.2";
    $PostFXManager::Settings::SSAO::lNormalPow = "2";
    $PostFXManager::Settings::SSAO::lNormalTol = "2";
    $PostFXManager::Settings::SSAO::lRadius = "0.782834";
    $PostFXManager::Settings::SSAO::lStrength = "0.473934";
    $PostFXManager::Settings::SSAO::overallStrength = "19.6517";
    $PostFXManager::Settings::SSAO::quality = "0";
    $PostFXManager::Settings::SSAO::sDepthMax = "50";
    $PostFXManager::Settings::SSAO::sDepthMin = "0.402844";
    $PostFXManager::Settings::SSAO::sDepthPow = "1";
    $PostFXManager::Settings::SSAO::sNormalPow = "2";
    $PostFXManager::Settings::SSAO::sNormalTol = "2";
    $PostFXManager::Settings::SSAO::sRadius = "0.0957678";
    $PostFXManager::Settings::SSAO::sStrength = "0.56872";
    Settings
    Code:
    $pref::Camera::distanceScale = "1";
    $pref::ChatHudLength = 1;
    $pref::decalMgr::enabled = "1";
    $pref::DecalRoad::defaultDistanceFade = "300 50";
    $pref::Decals::enabled = "1";
    $pref::Decals::lifeTimeScale = "1";
    $pref::Directories::Terrain = "levels/";
    $pref::enableBadWordFilter = "1";
    $pref::enablePostEffects = "1";
    $pref::GroundCover::densityScale = "1";
    $pref::hasClientTicked = "0";
    $pref::hasServerTicked = "0";
    $pref::HudMessageLogSize = 40;
    $pref::imposter::canShadow = "1";
    $pref::Input::KeyboardEnabled = 1;
    $pref::Input::KeyboardTurnSpeed = 0.1;
    $pref::Input::LinkMouseSensitivity = 1;
    $pref::Input::MouseEnabled = 1;
    $pref::lightManager = "Advanced Lighting";
    $pref::Master0 = "";
    $Pref::MaterialSelector::CurrentFilter = "";
    $Pref::MaterialSelector::CurrentStaticFilter = "MaterialFilterAllArray";
    $Pref::MaterialSelector::ThumbnailCountIndex = 5;
    $pref::Net::LagThreshold = "400";
    $pref::Net::PacketRateToClient = "10";
    $pref::Net::PacketRateToServer = "32";
    $pref::Net::PacketSize = "200";
    $pref::Net::Port = 28000;
    $pref::Physics::threadCount = "2";
    $pref::PhysicsDebris::lifetimeScale = "1";
    $pref::Player::defaultFov = 65;
    $pref::Player::Name = "Visitor";
    $pref::Player::zoomSpeed = 0;
    $pref::PostEffect::PreferedHDRFormat = "GFXFormatR8G8B8A8";
    $pref::ProjectedShadow::fadeEndPixelSize = "35";
    $pref::ProjectedShadow::fadeStartPixelSize = "200";
    $pref::PSSM::detailAdjustScale = "0.85";
    $pref::PSSM::smallestVisiblePixelSize = "25";
    $pref::Reflect::frameLimitMS = "0";
    $pref::Reflect::refractTexScale = "1";
    $Pref::Server::AdminPassword = "";
    $Pref::Server::BanTime = 1800;
    $Pref::Server::ConnectionError = "You do not have the correct version of the FPS starter kit or the related art needed to play on this server, please contact the server operator for more information.";
    $Pref::Server::FloodProtectionEnabled = 1;
    $Pref::Server::Info = "This is a Torque 3D server.";
    $Pref::Server::KickBanTime = 300;
    $Pref::Server::MaxChatLen = 120;
    $Pref::Server::MaxPlayers = 64;
    $Pref::Server::Name = "Torque 3D Server";
    $Pref::Server::Password = "";
    $Pref::Server::Port = 28000;
    $Pref::Server::RegionMask = 2;
    $Pref::Server::TimeLimit = 20;
    $pref::SFX::autoDetect = 0;
    $pref::SFX::bitrate = 32;
    $pref::SFX::channelVolume1 = 1;
    $pref::SFX::channelVolume2 = 1;
    $pref::SFX::channelVolume3 = 1;
    $pref::SFX::channelVolume4 = 1;
    $pref::SFX::channelVolume5 = 1;
    $pref::SFX::channelVolume6 = 1;
    $pref::SFX::channelVolume7 = 1;
    $pref::SFX::channelVolume8 = 1;
    $pref::SFX::device = "Speakers (Realtek High Definition Audio)";
    $pref::SFX::FMOD::disableSoftware = "0";
    $pref::SFX::FMOD::DSoundHRTF = "full";
    $pref::SFX::FMOD::enableProfile = "0";
    $pref::SFX::FMOD::pluginPath = "";
    $pref::SFX::FMOD::useSoftwareHRTF = "1";
    $pref::SFX::frequency = 44100;
    $pref::SFX::masterVolume = "0.663866";
    $pref::SFX::maxSoftwareBuffers = 16;
    $pref::SFX::provider = "DirectSound";
    $pref::SFX::useHardware = "0";
    $pref::Shadows::disable = "0";
    $pref::shadows::filterMode = "SoftShadowHighQuality";
    $pref::Shadows::textureScalar = "2";
    $pref::Terrain::detailScale = "1";
    $pref::Terrain::lodScale = "1";
    $Pref::TerrainEditor::LastPath = "C:/Users/maxkarlmiller/Documents/BeamNG.drive/mods/levels/zlake/art/terrain";
    $pref::TS::detailAdjust = "1";
    $pref::TS::maxInstancingVerts = "200";
    $pref::TS::skipLoadDLs = "0";
    $pref::TS::skipRenderDLs = "0";
    $pref::TS::smallestVisiblePixelSize = "-1";
    $pref::TSShapeConstructor::CapsuleShapePath = "core/art/shapes/unit_capsule.dts";
    $pref::TSShapeConstructor::CubeShapePath = "core/art/shapes/unit_cube.dts";
    $pref::TSShapeConstructor::SphereShapePath = "core/art/shapes/unit_sphere.dts";
    $pref::Video::autoDetect = 0;
    $pref::Video::borderless = "0";
    $pref::Video::canvasSize = "2560 1440";
    $pref::Video::defaultAnisotropy = "16";
    $pref::Video::defaultFenceCount = 0;
    $pref::Video::disableCubemapping = 0;
    $pref::Video::disableHardwareAA = 1;
    $pref::Video::disableNormalMapping = "0";
    $pref::Video::disableParallaxMapping = "0";
    $pref::Video::disablePixSpecular = "0";
    $pref::Video::disableVerticalSync = "0";
    $pref::Video::displayDevice = "D3D9";
    $pref::Video::displayOutputDevice = "\\\\.\\DISPLAY1";
    $pref::Video::forcedPixVersion = "-1";
    $pref::Video::Gamma = "1";
    $pref::Video::missingTexturePath = "core/art/missingTexture";
    $pref::Video::mode = "2560 1440 true 32 60 0";
    $Pref::Video::ProfilePath = "core/profile";
    $pref::Video::screenShotFormat = "PNG";
    $pref::Video::screenShotSession = 0;
    $pref::Video::textureReductionLevel = "0";
    $pref::Video::unavailableTexturePath = "core/art/unavailable";
    $pref::Video::warningTexturePath = "core/art/warnmat";
    $pref::Water::disableTrueReflections = "0";
    $pref::windEffectRadius = "25";
    $pref::WorldEditor::cameraFOV = "75";
    $Pref::WorldEditor::FileSpec = "Torque Mission Files (*.mis)|*.mis|All Files (*.*)|*.*|";
    $Pref::WorldEditor::LastPath = "C:/Program Files (x86)/Steam/steamapps/common/BeamNG.drive";
    $pref::WorldEditor::visibleDistanceScale = "1";
     
  9. iheartmods

    iheartmods
    Expand Collapse

    Joined:
    Aug 8, 2012
    Messages:
    1,482
    I really think that your GPU isn't the issue,

    Check your CPU temps while running Beam and report back
     
  10. firestarspelt

    firestarspelt
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    101
    I max out beaming on default maps 60 fps just fine same clocked CPU and 280x
     
  11. crazikyle

    crazikyle
    Expand Collapse

    Joined:
    Sep 3, 2013
    Messages:
    876
    I totally agree that this game needs optimization, but I don't think the main problem is with graphics. For instance, I can drive the covet around Hirochi racetrack at 50+fps all the time, even while running at 5760x1080. But if I change to a car that has more N/B my framerate drops. Using the sunburst, I often drop to 25 fps when going at speed, while the T-series is unplayable; I get 19 fps just sitting around on grid map. I used to have a 660, and upgraded to my 970 in hopes of getting better fps, but I saw little to no improvement. Now I'm thinking of overhauling my system and getting an i7 instead of my 8320 I have now in hopes of boosting my physics performance, and hence my fps.

    Long story short, game performs well graphically, but has a terribly performing physics core.
     
  12. mrboojay

    mrboojay
    Expand Collapse

    Joined:
    Aug 25, 2014
    Messages:
    157
    Ah I had it in my head for some reason when I wrote that post that you had an i7. Silly me.
     
  13. Nadeox1

    Nadeox1
    Expand Collapse
    Spinning Cube
    BeamNG Team

    Joined:
    Aug 5, 2012
    Messages:
    14,697
    No, it's the inverse.
    Remember the physics is being calculated at 2000 steps per second, with around 300 nodes per vehicle and over 500 beams being in costant relationship (thing that is even more insane, because each force that is applied to a nodes have a reaction on all the beams connected to it, which affects all the nodes being attached to those beams, and so on. That's mindblowing.. "Normal" games just uses 60-100 steps per second for their physics, and still being just Rigid Body Physics (Means there is limited relationship between things) with at best 20 datapoints being simulated. Even in Blender (Bullet Physics), setting a simulation at 2000 steps per second means hours of simulation baking. So achieving that in realtime is a quite impressive proof of the engine capabilities. On the other side, people get low performance on more complex vehicles because vehicles are being simulated per thread (1 Vehicle per Thread). Once splitting one vehicle simulation on all the CPU cores will be possible (It's quite complex tho, so IF it ever happens), great things can happen.

    The main problem is the Graphical Engine. T3D is a good starting point, especially for what it offers as a free engine. But most of the codes it's based on are ancient ones. For example his SSAO is based of some really old documentation, and it's pretty heavy on the GPU, while more recent SSAO you can find on nowadays games barely takes more than 5FPS on a decent GPU. Luckily, T3D is also pretty versatile, and improving/optimizing stuff is very doable (see the Dynamic Reflection being a newly added feature for example, and there is much more).
     
  14. Driv3r1142

    Driv3r1142
    Expand Collapse

    Joined:
    Feb 15, 2015
    Messages:
    1,941
    I just noticed something... Everyone asking for optimization owns an AMD CPU
    They suck with beamNG. For now Intel is the only CPU brand capable of running BeamNG
    Take it from me I own one of them, and it sucks.
    Although it can pull like 50-60 FPS on maps like small island, Industrial, And E.C.U.S.A, along with a modified moonhawk.

    Still, AMD is cheap but you know what cheap'ing' does...
     
  15. BallisticDK

    BallisticDK
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    144
    If i take the postfx system off and lighting to lowest, i can run it with a stable 60fps on gridmap with the 6 wheeled big rig in UHD.

    The physx is really impressive, and the only way i see to improve performance on that is to simulate it on the gpu instead of the cpu but the devs have already talked about that.

    The graphics are an other talk, on every map (gridmap and gridmap pure is an exception) i get terrible framerates, and that's with 2 GTX 970 in SLI (i know why its not perfect so no need to tell me :)),
    But i look forward to see it fixed.

    CPU i7 5930K OC 4.6Ghz
    GFX GTX 970
     
  16. DrowsySam

    DrowsySam
    Expand Collapse

    Joined:
    Jul 30, 2013
    Messages:
    999

    Disable SLI and use one GPU only, I can max BeamNG.drive with only one 970 with good framerate.
     
  17. SixSixSevenSeven

    SixSixSevenSeven
    Expand Collapse

    Joined:
    Sep 13, 2013
    Messages:
    6,958
    The game doesn't use physx. It uses its own physics engine. Physx is nvidias proprietary engine.

    I think from the GPU side physics reference, you are thinking of cuda (which physx supports) and opencl (which beamng may eventually support)
     
  18. VeyronEB

    VeyronEB
    Expand Collapse

    Joined:
    Aug 5, 2012
    Messages:
    1,537
    Thats complete bull, I can easilly run the game at 40-50fps stable on ECA and Dry Rock Island (GPU limited also.) The only thing its not capable of running at a constant 30+fps is the t-series and I imagine with a decent water cooler and an overclock that is possible also.
     
  19. BallisticDK

    BallisticDK
    Expand Collapse

    Joined:
    Aug 4, 2013
    Messages:
    144

    Yeah i know that. i wrote physx instead of physics because i have alot of problems with physx in borderlands 2 and Pre sequel so have have searched alot about physx so i just didn't think. sorry :)

    - - - Updated - - -

    Okay, i'll try that when i get home. thanks
     
  20. iheartmods

    iheartmods
    Expand Collapse

    Joined:
    Aug 8, 2012
    Messages:
    1,482
    Seriously? I run an AMD at 2.3GHz that gets me 20-24 FPS...get off your Intel high horse.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice