Q-Ball Posted March 18, 2023 Posted March 18, 2023 I hadn't checked my FPS performance in a while, but since MT hit Open Beta I wanted to see what sort of difference it made, and noticed that in-game, my FPS seems limited to 30, no matter the settings changes (Normally play 1440p/High preset, but I lowered to 1080p/Medium and still topped out at 30fps). I use a Vega 64 GPU with a FreeSync-capable display, but I have turned off all possible vsync settings (in-game, driver) and even went so far as to disable FreeSync on the monitor, but no change in behavior. When I run RIGHT CTRL+PAUSE, the fps will hit the limit of the monitor (65hz) in menus, but drop to ~30FPS in-game and stay there, unless it drops lower. In MT it says I am CPU-bound, but that does not seem correct, considering I have a Ryzen 7900XT. I feel like there's an in-game setting I am missing, but I am mystified as to what that might be. This thread suggested a few things in Graphics.lua, but there was no 30fps limit there: I have attached my dcs.log and dxdiag results to the post. DxDiag.txt dcs.log
Flappie Posted March 19, 2023 Posted March 19, 2023 Ensure Radeon Chill is off. https://www.amd.com/en/support/kb/faq/dh-033 ---
Q-Ball Posted March 20, 2023 Author Posted March 20, 2023 On 3/19/2023 at 6:26 AM, Flappie said: Ensure Radeon Chill is off. https://www.amd.com/en/support/kb/faq/dh-033 It's off. I've also done a "factory reset" of Radeon settings. No change.
Hiob Posted March 20, 2023 Posted March 20, 2023 (edited) Are there common settings vs. per-game settings in the AMD-GPU-Drivers? I have no clue about AMD-Drivers, but in Nvidia you could set the common settings to default and miss the per-game settings. edit: because "stuck to 30 fps" sure sounds a lot like v-sync..... Edited March 20, 2023 by Hiob "Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"
Flappie Posted March 20, 2023 Posted March 20, 2023 Oh I'm thinking about something else. Please attach your Export.lua script (from Saved Games/DCS.../Scripts). ---
Flappie Posted March 20, 2023 Posted March 20, 2023 WinWing device is what I was looking for. Try this: Rename your Export.lua file to "Export.lua.bak". Run DCS and see if FPS go up. ---
Q-Ball Posted March 21, 2023 Author Posted March 21, 2023 Yep, that did it. FPS increased into the upper 40s/low 50s after renaming the file. So something in the Export.lua is causing it? BTW I do have WinWing devices, but I'm not sure that would be related if not mentioned in the Export.lua (or would it matter?)
Flappie Posted March 21, 2023 Posted March 21, 2023 (edited) Great! You Export.lua does calls a WinWing script ("Scripts/wwt"). And you're also using DCS-Export. I've seen other users with FPS issues caused by conflicting calls in their Export.lua script. Some examples: Edited March 21, 2023 by Flappie 1 ---
Q-Ball Posted March 21, 2023 Author Posted March 21, 2023 (edited) Thanks, Flappie, that was very helpful info. I think I've got it sorted acceptably now. For whatever reason, re-ordering the Export.lua also results in the FPS increase (I made sure to disable the automatic SimAppPro updates to Export.lua). SimAppPro putting itself as the first item in the file looks to have down-stream effects, at least in my case. Further observation: It appears turning FreeSync back on introduces a slight penalty on the maximum FPS (5-6 FPS lower than without), but that's not entirely unexpected. Worth noting for other FreeSync users who have done similar troubleshooting. The real upshot here is that my FPS indicator with RIGHT CTRL + PAUSE now shows GPU-bound, instead of CPU-bound, and I'm seeing peak FPS on the test Instant Action mission in the mid-40s. Using the F-14 module for all these tests. For reference, I've attached my updated Export.lua with some added comments for clarity. Export.lua Edited March 21, 2023 by Q-Ball Fixed typos.
Solution Flappie Posted March 21, 2023 Solution Posted March 21, 2023 Thanks for your precious feedback. Sum up here: Bad for FPS: --1. WinWing stuff local wwtlfs=require('lfs') dofile(wwtlfs.writedir()..'Scripts/wwt/wwtExport.lua') -- 2. load the DCS ExportScript for DAC and Ikarus dofile(lfs.writedir()..[[Scripts\DCS-ExportScript\ExportScript.lua]]) BIOS = {}; BIOS.LuaScriptDir = [[C:\Program Files\DCS-BIOS\dcs-lua\]]; BIOS.PluginDir = [[C:\Users\jmgri\AppData\Roaming/DCS-BIOS/Plugins\]]; if lfs.attributes(BIOS.LuaScriptDir..[[BIOS.lua]]) ~= nil then dofile(BIOS.LuaScriptDir..[[BIOS.lua]]) end --[[DCS-BIOS Automatic Setup]] --3. TacView local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewGameExport.lua') --4. SRS pcall(function() local dcsSr=require('lfs');dofile(dcsSr.writedir()..[[Mods\Services\DCS-SRS\Scripts\DCS-SimpleRadioStandalone.lua]]); end,nil); Much better for FPS: --1. load the DCS ExportScript for DAC and Ikarus (moved up) dofile(lfs.writedir()..[[Scripts\DCS-ExportScript\ExportScript.lua]]) BIOS = {}; BIOS.LuaScriptDir = [[C:\Program Files\DCS-BIOS\dcs-lua\]]; BIOS.PluginDir = [[C:\Users\jmgri\AppData\Roaming/DCS-BIOS/Plugins\]]; if lfs.attributes(BIOS.LuaScriptDir..[[BIOS.lua]]) ~= nil then dofile(BIOS.LuaScriptDir..[[BIOS.lua]]) end --[[DCS-BIOS Automatic Setup]] --2. TacView local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewGameExport.lua') --3. WinWing stuff (moved down) local wwtlfs=require('lfs') dofile(wwtlfs.writedir()..'Scripts/wwt/wwtExport.lua') --4. SRS pcall(function() local dcsSr=require('lfs');dofile(dcsSr.writedir()..[[Mods\Services\DCS-SRS\Scripts\DCS-SimpleRadioStandalone.lua]]); end,nil); I'm pretty sure the order of TacView and SRS calls don't change anything. 2 ---
Q-Ball Posted March 21, 2023 Author Posted March 21, 2023 47 minutes ago, Flappie said: I'm pretty sure the order of TacView and SRS calls don't change anything. I would concur with that assessment, since there was no noticeable change as I was moving things around aside from the WinWing bit.
Q-Ball Posted March 22, 2023 Author Posted March 22, 2023 (edited) On 3/20/2023 at 8:38 AM, Hiob said: Are there common settings vs. per-game settings in the AMD-GPU-Drivers? I have no clue about AMD-Drivers, but in Nvidia you could set the common settings to default and miss the per-game settings. edit: because "stuck to 30 fps" sure sounds a lot like v-sync..... FWIW in the Radeon Software under Gaming, I only see the Steam games I have installed (assuming they are auto-detected). The DCS Standalone doesn't show up there, but it's possible that there could be separate settings for DCS if the player installed it from Steam. Edited March 22, 2023 by Q-Ball Clarity.
Hiob Posted March 22, 2023 Posted March 22, 2023 13 hours ago, Q-Ball said: I would concur with that assessment, since there was no noticeable change as I was moving things around aside from the WinWing bit. Just counting the incidents reported here in the forum, I'd say WinWing is quite infamous for the problems caused by its problems..... so..... "Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"
Q-Ball Posted March 22, 2023 Author Posted March 22, 2023 3 hours ago, Hiob said: Just counting the incidents reported here in the forum, I'd say WinWing is quite infamous for the problems caused by its problems..... so..... Seems like they could save a lot of heartache by appending the file once, rather than inserting at the beginning every time by default. I didn't change the code, just where in Exports.lua it appeared. 1
Flappie Posted March 22, 2023 Posted March 22, 2023 Good idea. I'll ask them to change the way they install it. 1 ---
Recommended Posts