[DX11] Help regarding Nvidia Profile Inspector (NPI)

Make your game even better
black-coffee
Posts: 81
Joined: February 27th, 2020, 2:37 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by black-coffee » July 13th, 2023, 4:30 pm

@silent29 It's not just you, it is a very well known fact that the game engine is clunky and DX11 is not very well implemented, hence the game is not able to use modern hardware to it's full potential. Only very powerful hardware thru brute force is able to run this game without noticeable FPS drops at 1440p and higher resolutions.
User avatar
JHTrucker
Expert
Posts: 1349
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by JHTrucker » July 13th, 2023, 8:37 pm

@silent29 - If you provide a gamelog then we can see what settings you have without having to guess...

For example, if you've applied any of the advanced edits as shown in the first post then I'd start by reverting them.

EXTREME FPS HIT
uset r_mirror_view_distance "900" //This will give you 900 meters view in the mirrors before objects disappear.
Change to 200.
uset g_lod_factor_pedestrian "15" // This and the following 2 parameters will make LOD changes further away for the objects mentioned. [See Note 5]
uset g_lod_factor_parked "15" // See above.
uset g_lod_factor_traffic "15" // See above.
Change to 1 or 2.

Beacons can be shown in 3 states in the game:
0 - Flashing & illuminating their surroundings (default)
1 - Flashing only
2 - Disabled

Your profile - config.cfg - uset g_disable_beacons "0"

Using 1 will prevent fps dips near vehicles with beacons but won't look as good as 0.

Or keep above at 0 and in the global config.cfg:
uset g_light_distance_factor "1.0" <-default
Change to 0.25 or any number between 0.0 and 1.0
This adjusts how far into the distance that you can see lights illuminating their surroundings, lower than 1.0 will increase fps.

I assume you are forcing vsync on, 60Hz, 60fps? If you are, then try 'adaptive sync' and then vsync will turn off when the fps drops below 60, you'll then see some screen tearing but the fps shouldn't tank as low as 30 fps.

And to add to what black-coffee said.
These truck games are running on primarily 1 cpu core and so it doesn't matter that you have a modern cpu with 6 cores whereas I have a 15 year old cpu with 4 cores, both are not being fully utilised by these games.
If SCS would release an update that provided multicore support then that would make a massive difference... your fps drop because your cpu can't feed your gpu quick enough because the cpu is too busy running the whole game on that 1 core.
The change to DX12 will do nothing to help this without also providing mulicore support...
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR Driving Enhancements: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
Silent29
Posts: 6
Joined: January 10th, 2023, 10:02 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by Silent29 » July 14th, 2023, 1:26 pm

Attached my config file. Please check it out. Maybe you will find something significant problem.
In the meantime, I'll try JHTrucker's advice. Thanks for helping me.

uset r_show_sun_cascades "0"
uset r_tonemap_debug "0"
uset r_drr_strength "8.0"
uset r_hide_helpers "0"
uset r_full_resolution_corrections "0"
uset s_sound_debug "0"
uset s_init_intro_music_mute "0"
uset s_init_intro_music_volume "0.5"
uset s_init_ui_music_mute "0"
uset s_init_ui_music_volume "0"
uset s_init_master_mute "0"
uset s_init_master_volume "0.08"
uset s_output_driver ""
uset s_live_update "0"
uset s_suspend_sound "1"
uset g_mm_help_shown "1"
uset g_frame_image_fmt "jpg"
uset g_frames_path ""
uset g_last_seen_patch_notes_hash "FC781F31723110C9B31EBED6306E9DC57B3A4F79"
uset g_bumps "1.0"
uset g_editor_zoom_speed "1.0"
uset g_map_note_user_id "0"
uset g_color_feedback "1"
uset g_disable_hud_activation "0"
uset r_wireframe "0"
uset g_interior_camera_zero_pitch "0"
uset r_multimon_exterior_in_aux "0"
uset r_multimon_interior_in_main "1"
uset r_multimon_rotation_aux "0"
uset r_multimon_rotation_right "0"
uset r_multimon_rotation_left "0"
uset r_multimon_rotation_center "0"
uset r_multimon_vert_offset_right "0"
uset r_multimon_vert_offset_left "0"
uset r_multimon_border_fov_right "0"
uset r_multimon_border_fov_left "0"
uset r_multimon_fov_vertical "0"
uset r_multimon_fov_horizontal "50"
uset r_multimon_mode "4"
uset r_use_depth_bounds "1"
uset r_buffer_page_size "100"
uset r_deferred_debug "0"
uset r_mirror_scale_y "1"
uset r_mirror_scale_x "1"
uset r_scale_y "1"
uset r_scale_x "1"
uset r_normal_maps "1"
uset r_sunshafts "1"
uset r_color_saturation "1.0"
uset r_color_yellow_blue "0.0"
uset r_color_magenta_green "0.0"
uset r_color_cyan_red "0.0"
uset r_color_correction "1"
uset r_light_flares "1"
uset r_cloud_shadows "1"
uset r_dof_filter_size "0.5"
uset r_dof_transition "400.0"
uset r_dof_start "200.0"
uset r_dof "1"
uset r_ssao "0"
uset r_smaa "0"
uset r_fake_shadows "2"
uset r_sun_shadow_texture_size "8192"
uset r_sun_shadow_quality "4"
uset r_mirror_group "3"
uset r_mirror_view_distance "120"
uset r_deferred_mirrors "2"
uset r_nowmi "0"
uset r_startup_progress "0"
uset r_setup_done "1"
uset r_gamma "1"
uset r_manual_stereo_buffer_scale "1.0"
uset r_manual_stereo_ui_fov_game "100"
uset r_manual_stereo_ui_fov "80"
uset r_manual_stereo_ui_dist_game "0.5"
uset r_manual_stereo_ui_dist "0.8"
uset r_manual_stereo_in_menu "1"
uset r_minimal_unfinished_frames "0"
uset r_no_frame_tracking "0"
uset r_fullscreen "1"
uset r_mode_refresh "59"
uset r_mode_height "1440"
uset r_mode_width "2560"
uset r_path ""
uset r_device "dx11"
uset i_virtual_cursor_speed "500.0"
uset g_stream_exts ".ogg;.mp3"
uset g_album_image "0"
uset g_thrustmaster "1"
uset g_tobii "1"
uset g_trackir "1"
uset g_lod_factor_pedestrian "1"
uset g_pedestrian "1"
uset g_light_span_factor "1"
uset g_light_distance_factor "1"
uset g_vehicle_flare_lights "1"
uset g_auto_traffic_headlights "1"
uset g_lod_factor_parked "1"
uset g_lod_factor_traffic "1"
uset g_traffic "1"
uset g_kdop_preview "0"
uset g_screenshot_on_bug_quality "100"
uset g_screenshot_on_bug "0"
uset g_shoulder_block_coloring "0"
uset g_debug_map_limits "0"
uset g_city_name_move "0"
uset g_developer "1"
uset g_semantical_pause_inactivity "120"
uset g_pause_on_disconnect "1"
uset g_semantical_ff_inactivity "300"
uset g_steam_rich_presence "1"
uset g_steam_browser "1"
uset g_steam_screenshots "2"
uset g_artist_id "0"
uset g_save_format "0"
uset g_trailer_cables_mode "2"
uset g_intelligent_transmission "0"
uset g_spec_trans_refill_tank "1"
uset g_flyspeed "100.0"
uset g_online_loading_screens "1"
uset g_news "1"
uset g_colbox "0"
uset g_radio_mode "2"
uset g_ignore_low_fps "0"
uset g_truck_light_specular "1"
uset g_gfx_all_scales "0"
uset g_gfx_advanced "1"
uset g_gfx_quality "-1"
uset g_hq_3d_scale "0.0"
uset g_hq_3d_screenshot "0"
uset g_menu_aa_limit "8"
uset g_additional_water_fov "20.0f"
uset g_water_reflect_actor "0"
uset g_rain_sensor "1"
uset g_rain_reflect_hookups "0"
uset g_rain_reflect_actor "0"
uset g_rain_reflect_traffic "0"
uset g_rain_reflect_cache "0"
uset g_rain_reflection "1"
uset g_reflection_scale "0"
uset g_reflection "3"
uset g_grass_density "2"
uset g_veg_detail "0"
uset g_save_indicator "1"
uset g_game_version "1.47.3.18"
uset g_force_online_lscrs "0"
uset g_hw_info "1"
uset g_sns ""
uset g_glass_debugging_level "0"
uset g_line_sort "0"
uset g_cargo_sort "2"
uset g_bloom_standard_deviation "0.5"
uset g_bloom_override "0"
uset g_bloom "1.0"
uset g_global_force_load_selector "0"
uset g_desktop_fadeout "60"
uset g_suspension_auto_reset "1"
uset g_upshift_coef "0.3"
uset g_downshift_coef "0.8"
uset g_minicon "0"
uset g_console_state "0"
uset g_console "1"
uset g_texture_usage_stats "0"
uset g_fps "0"
uset ui_tooltip_delay "0.4"
uset r_imgui_scale "1.0"
uset r_output "-1"
uset r_adapter "-1"
uset r_vsync "1"
uset r_color_mode "0"
uset r_anisotropy_factor "1"
uset r_texture_detail "0"
uset cf_beacon_light "1"
uset cf_asus_aura "1"
uset cf_razer_chroma "1"
uset v_bug_break "0"
uset t_locked_fps "58"
uset t_averaging_window_length "20"
User avatar
JHTrucker
Expert
Posts: 1349
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by JHTrucker » July 14th, 2023, 7:02 pm

@silent29 - From looking at your config info:

uset r_sun_shadow_texture_size "8192"
Whilst that does look better to prevent flickering trees... it does tank your fps if there's a lot of trees.
Try 6144 or default 4096 to see if that helps those areas.

I assume you're using our NPI AA, therefore do this:
uset g_menu_aa_limit "8" <- change to "0"
0 disables the in game menu AA and allows our NPI AA to work on the menu / workshop scene etc.

uset t_locked_fps "58"
From what I understand (from a post from MAX on SCS forum) - This isn't a frame limiter, if that's what you think and why you set it.
It's to do with game timing for recording game play videos so that the recorded video is smooth even though what you see in game might not be. So it allows for really high detail that really isn't driveable, but looks good on a video (marketing material?).
Any value higher than your refresh rate will slow down game speed. Try 120 for a bit of slow motion driving.
Any value lower than your refresh rate will speed it up, if it can and so you may get some rubber banding. Try 30 and you'll accelerate twice as fast.
Also, I think if this isn't '0' and you play multiplayer you'll get an error, mismatch or something unless all players use the same value.

You may already know all this but in case you don't:
Your AMD cpu is 6 cores and 12 threads I think.
Intel cpu's that do that it's called 'Hyper Threading' which splits each core into two for better multi tasking. Disabling it via the bios screen menu should give better performance for games that run on a single cpu core, these truck games.
I don't have AMD cpu and so can't help.

You could also try using 'fast sync':
NPI set frame limit to a value below Hz - 50 for example
NPI set vertical sync to 'fast sync'
NPI set vsync control to 'standard'
Disable vsync in game - But should ignore it any way when set in NPI.
Then you'll have max 50fps but if it needs to drop lower it can whilst still maintaining vsync, no screen tearing.
It's better to have a lower average fps rather than a high one that keeps dropping, that way you can increase graphic details rather than lower them.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR Driving Enhancements: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
Silent29
Posts: 6
Joined: January 10th, 2023, 10:02 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by Silent29 » July 14th, 2023, 10:32 pm

Thank you for your labour!!! I got a little bit better fps. Anyway sometimes i get drops but perhaps i won't notice it because there is not 100% solution to this problem.

I will be waiting when SCS makes normal patch and fixes it.

I checked load CPU. And it's so weird, but it is loaded next way (check photo).

Image
User avatar
fedeg1
Posts: 6
Joined: December 31st, 2021, 8:55 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by fedeg1 » July 15th, 2023, 11:51 pm

Hello friends. I ask you, applying this NPI configuration consumes a lot of processor (CPU) resources? I currently have an RTX 3070Ti, accompanied by an AMD processor of about 6/7 years, which already makes me a bottleneck.
FX 8350 | 16GB RAM | MSI RTX 3070TI 8GB | LOGITECH G923 TRUEFORCE + EATON FULLER SHIFTER
User avatar
JHTrucker
Expert
Posts: 1349
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by JHTrucker » July 16th, 2023, 1:13 am

@silent29 - You can use "MSI Afterburner" if you want to see all those values while you drive.

@fedeg1 - This AA is all GPU based.
If you currently run your game at 400% scaling then changing to 100% and forcing this 4xMSAA 4xSGSS will be no problem.
Just make sure you follow all three steps.
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR Driving Enhancements: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
ItsMiK4
Posts: 9
Joined: November 28th, 2021, 5:08 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by ItsMiK4 » July 19th, 2023, 5:58 pm

I'm currently running 1.48 OpenBeta in both games and started to experience some serious performance issues with head tracker (Tobii 4C in my case) using these recommended settings on vanilla game (no mods).

The issue was very choppy performance when moving my head, but there were no fps drops, which looked very strange. Frametime graph was very flat at 100fps. Knowing that, the only logical explanation was that the issue have something to do with Vsync. Worth mentioning is I'm using latest GPU drivers on RTX 3090 Strix, 165Hz G-Sync 1440p monitor.

After some extensive testing and research, I found the way to fix this very annoying problem.

- removed frame limiter (if any)
- Maximum pre-rendered frames to 3
- forced 1/2 Vsync (made my game run at 82fps)
- Smooth AFR to ON
- Tear control to Adaptive

These changes made the game run very smooth at 82fps, with no stutter or frame drops (except caused by bad game optimization) and it gave me a chance to run 8x SGSSAA and 8x MSAA without performance loss. Also, worth mentioning is that t_averaging_window_length is set to 0, making GPU do all the computing. GPU load was around 60-70% in dense areas, with 15-25% CPU load. It is noticeable that SCS made some engine improvements recently, making better CPU cores utilization. Unfortunately, they're not coming out public with changes they're making to the engine, so we can only guess based upon performance factors.

Hope these settings would help someone having the similar issues.
User avatar
JHTrucker
Expert
Posts: 1349
Joined: February 7th, 2020, 3:19 pm
Location: UK

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by JHTrucker » July 20th, 2023, 3:05 pm

@ItsMiK4 - Thanks for sharing your findings.

I have old hardware and so I can't tell you anything about gsync, but I did create a topic so others could recommend their settings and I linked it in the first post as the last part of "note 3a"
This -> More detailed G-Sync info can be found here: https://roextended.ro/forum/viewtopic.p ... 155#p46155

From that link, the part that stands out for me is this:
"Really important, do set G-Sync Application mode and Global mode on Fullscreen and windowed, the game don't run an exclusive fullscreen but more like a window without border, which mean that if you put G Sync on fullscreen only, it won't apply to the game."

Doing that and the other settings shown looked, to me, like the right way to set it up.
You may or may not have tried it or just prefer what you came up with, I'm just pointing this out, just in case it's useful.

Perhaps reply to that gsync topic and copy your post content from here into it so that your info won't get lost.

In regard to 8xAA, I really don't think anything above 4x does anything other than 4x. This was tested back in 2020 when this AA became functional, perhaps something has changed in newer drivers that I can't test now as Nvidia has long since stopped supporting my GTX760!

The test is simple, take a screen shot at 2xMSAA & 2xSGSS - 4xMSAA & 4xSGSS - 8xMSAA & 8xSGSS
Now look at the files size for each screen shot, 2x is half the size of 4x and 8x is the same size as 4x.
Conclusion, forcing MSAA in DX11 will only give a max of 4x regardless of higher settings as 8x should really be double the file size of 4x.
You could also compare both 4x and 8x screen shots side by side and zoom into the same area and see if you can see a difference in the way the AA looks or you can already see a difference while driving and that's why you use 8x?

Hopefully SCS will, one day, supply their engine update for all you guys that can run DX12 and you can then forget about all this messing about...
multimon_config.sii files: viewtopic.php?p=17658#p17658
controls.sii edits: viewtopic.php?p=24744#p24744
TrackIR Driving Enhancements: viewtopic.php?p=46613#p46613
Extra Cameras: viewtopic.php?p=46034#p46034
User avatar
ItsMiK4
Posts: 9
Joined: November 28th, 2021, 5:08 pm

Re: [DX11] Help regarding Nvidia Profile Inspector (NPI)

Post by ItsMiK4 » July 20th, 2023, 5:38 pm

@JHTrucker you're right about Fullscreen and Windowed mode. It works. Having Gsync set up to Fullscreen and Windowed mode, Smooth AFR and Tear control became unnecessary, so they can stay at default. Tested it out and it works smoothly. I even increased Maximum pre-rendered frames to 6, because my card can handle it and it gave me even more smoothness. So far I haven't noticed any additional input lag due to these settings. In my case, frametime is fixed to 12ms at 82FPS 99% of the time.

1/2 Vsync works for those cards and monitors that can do above 120FPS natively. My testing shows that if you set up the Frame limiter to any number lower than your native FPS, forcing Vsync to ON, choppy performance is still present. So, Frame limiter should be set to OFF, but the way you offload your GPU is setting Vsync to 1/2 Refresh rate. Lower load on your GPU means lower temps and you can run more demanding graphic mods with no performance losses on higher quality.

4xMSAA & 4xSGSS also works, but 8x gives more sharpness. For sure isn't necessary, 4x is completely fine.
Post Reply