Performance for systems at the minimal requirements

I got Democracy 4 to play when I’m not home, so I’ve got a rather minimal laptop. It does fit into the minimal requirements, but I’m actually getting only 3 - 9 FPS. The UI also seems to freeze when I try to close some windows, but I think that it’s only because it takes about 10 seconds. So officially not frozen, just very slow.

I think that the game would be playable at 20+ FPS, but it’s a tall order to go from 3 to 20. What do you think would be possible?

Changing the resolution didn’t help much, so maybe there could be a “low performance mode” that would make some calculations less granular or precise so that the UI stays responsive. I’ve never played Democracy, so that was my first idea.

For information, here are my specs:
Microsoft Surface Pro 7
Windows 10
Quad-core 10th Gen i5-1035G4 (1.1 GHz, Turbo 3.7 GHz)
8 GB RAM
Intel Iris Plus Graphics

Minimal Specs found on Steam:
Intel i5 1.6GHZ
4 GB RAM
Intel HD3000 Graphics

Have faith!
I have spent the whole weekend improving the performance of the game for super-low spec PCs! Expect it to run way faster with the next update. (hopefully later this week).
I recommend setting animation UI duration to minimum, and turning off transitions. It might be worth turning off policy indicators too (although they are very helpful).

1 Like

edit…
I looked up some benchmarks and actually your laptop should run the game ok. My tests show its actually faster than my current laptop i’m typing this on, which runs the game at 1920x1080 at 60 fps.
Can you post any files found here:
\my documents\my games\democracy 4\debug
These are my laptop specs:

Ok, great to hear that! :smiley:

I don’t have my laptop with me today but I’ll post the debug files as soon as I have a chance. Thanks for the tips!

Haha, funny story: new users cannot upload attachments. :wink:

I’ll just paste the contents here. Hopefully it’s legible.

drawdebug.txt

Creating shader from file:[data/shaders/circleblend.fx]
Creating shader from file:[data/shaders/greyscale.fx]
Creating shader from file:[data/shaders/locked_achievement.fx]
Initialising Render target of 4096 X 2048 rt_transition
rt_transition
Initialising Render target of 4096 X 2048 rt_iconcache
rt_iconcache
Initialising Cairo target of 4096 X 2048 DTE_VT_0_0
DTE_VT_0_0
Initialising Cairo target of 4096 X 2048 DTE_VT_1_0
DTE_VT_1_0

debug.txt

[13:45:31:432]- ----DEBUG FILE----
[13:45:31:432]- Windows 7 detected
[13:45:31:432]- Game version: 1.132
[13:45:31:433]- Failed to open file: C:\Users\laroc\Documents/My Games/democracy4/mod_status.ini : 2
[13:45:31:433]- GBufferedFile failed to open file [C:\Users\laroc\Documents/My Games/democracy4/mod_status.ini]
[13:45:38:437]- Desktop resolution is 2736 x 1824
[13:45:38:437]- Loaded Config: 2736x1824@0 [fullscreen]
[13:45:38:437]- GEngine::Init Engine mode: 2736x1824
[13:45:38:437]- GEngine::Desktop mode: 2736x1824
[13:45:38:437]- Matching desktop res
[13:45:38:437]- Calling SDL_CreateWindow: 2736x1824@0 [fullscreen]
[13:45:39:46]- Attempting to initialise steam
[13:45:40:275]- Steam initialisation success
[13:45:40:275]- Checking steam workshop subscriptions…
[13:45:40:295]- Requesting steam stats…
[13:45:40:295]- …Steam stats requested
[13:45:40:299]- Initialising 3D Engine
[13:45:40:474]- OpenGL Vendor : Intel
[13:45:40:474]- OpenGL Renderer: Intel® Iris® Plus Graphics
[13:45:40:474]- OpenGL Version : 4.6.0 - Build 26.20.100.7641
[13:45:40:483]- Initialising global vertex buffer
[13:45:41:481]- Failed to open file: C:\Users\laroc\Documents/My Games/democracy4/stats.ini : 2
[13:45:41:481]- GBufferedFile failed to open file [C:\Users\laroc\Documents/My Games/democracy4/stats.ini]
[13:45:41:846]- VE Clearing existing textures to replace with new [2736]x[1824]
[13:45:49:914]- PANGO context font map font families:
[13:45:49:914]- Noto Sans CJK SC
[13:45:49:914]- Noto Sans
[13:45:49:914]- Sans
[13:45:49:914]- Serif
[13:45:49:914]- Monospace
[13:45:49:926]- Initialising Sound Engine
[13:45:49:926]- Creating IrrKlang Device
[13:45:49:955]- ESOD_AUTO_DETECT worked ok
[13:45:49:955]- Finished Initialising Sound Engine
[13:45:50:474]- Socialism LB size:12697

[13:45:50:477]- Liberalism LB size:12697

[13:45:50:477]- Received stats and achievements from Steam

[13:45:50:515]- Found 0 workshop subscriptions
[13:45:51:204]- Failed to open file: C:\Users\laroc\Documents/My Games/democracy4/compass.ini : 2
[13:45:51:204]- GBufferedFile failed to open file [C:\Users\laroc\Documents/My Games/democracy4/compass.ini]
[13:46:18:734]- Starting thread:[1][Post Survey Thread]
[13:46:18:735]- Post Survey Thread thread created OK
[13:46:18:740]- democracy4/server/post_survey.php?&ver=1.132&text=Allow main UI search to also search new policies
[13:46:18:740]- Start of SIM_Internet::OpenLink
[13:46:18:750]- End of SIM_Internet::OpenLink
[13:46:18:750]- SIM_Internet::DownloadFile(C:\Users\laroc\Documents/My Games/democracy4/webdebug/tmp785.html)
[13:46:19:127]- SIM_Internet::DownloadFile ends
[13:46:19:127]- Ending thread: [1][Post Survey Thread]
[13:46:36:456]- Starting thread:[0][New Game]
[13:46:36:456]- New Game thread created OK
[13:46:36:456]- Starting new game...
[13:46:36:464]- SIM_GetSimulation()->Initialise()...
[13:46:36:464]- Debug: closing attack manager
[13:46:36:464]- Debug: attack manager closed
[13:46:36:523]- SIM_GetSimValueManager()->Initialise()...
[13:46:36:535]- SIM_GetVoterManager()->Initialise()...
[13:46:36:709]- SIM_GetPressureGroups()->Open()...
[13:46:36:709]- Debug: closing attack manager
[13:46:36:709]- Debug: attack manager closed
[13:46:36:726]- Debug: opening attack manager
[13:46:36:726]- Debug: closing attack manager
[13:46:36:726]- Debug: attack manager closed
[13:46:36:850]- SIM_Attacks loaded
[13:46:36:858]- Debug: attack manager opened
[13:46:36:858]- SIM_GetDilemmaManager()->Initialise()...
[13:46:37:471]- SIM_GetEventManager()->Initialise()...
[13:46:38:281]- SIM_GetPolicyGroupManager()->Initialise()...
[13:46:38:285]- Initialise Scenemnager
[13:46:38:291]- Initialised Scenemnager
[13:46:38:359]- SIM_GetPolicyManager()->Initialise()...
[13:46:39:16]- Ministers Initialise...
[13:46:39:16]- PreCalcCoreSimulation...
[13:46:39:16]- Starting PreCalcCoreSimulation...
[13:46:40:380]- 

PreCalcCoreSimulation time: 1.37 seconds


[13:46:40:380]- Calculating voter values
[13:46:40:438]- Calculating effects
[13:46:40:530]- InitialiseDebt...
[13:46:40:530]- Finance Manager Next Turn...
[13:46:40:530]- SIM_GetVoterManager()->BackprojectHistory()...
[13:46:40:886]- SIM_Gameplay::MultithreadNewGame() complete
[13:46:40:899]- Thread finish detected by loading screen
[13:46:40:899]- Ending thread: [0][New Game]
[13:46:41:386]- Setting loading screen ready
[13:51:11:480]- Starting thread:[0][Next Turn]
[13:51:11:484]- Next Turn thread created OK
[13:51:11:484]- Debug::MultithreadNextTurn Start
[13:51:11:484]- Waiting for render thread [D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\engine\TextEngineUTF8.cpp,2060]]
[13:51:11:491]- Debug::Loading Screen Initialised
[13:51:11:491]- Debug::IssueManager initialising
[13:51:11:491]- Debug::Ministers next turn...
[13:51:11:491]- Debug::eventmanager next turn...
[13:51:11:491]- Debug::Pressure Groups next turn...
[13:51:11:491]- Debug::policy manager next turn...
[13:51:11:491]- Debug::global economy next turn...
[13:51:11:491]- Debug::situations manager next turn...
[13:51:11:491]- Debug::finance manager next turn...
[13:51:11:491]- Debug::neural processing begins...
[13:51:11:585]- Debug::neural processing complete
[13:51:11:585]- Debug::dilemma next turn...
[13:51:11:585]- Debug::voter manager next turn...
[13:51:11:641]- Debug::party manager next turn...
[13:51:11:641]- Debug::polls manager next turn...
[13:51:11:641]- Debug::grudge manager next turn...
[13:51:11:641]- Debug::finance manager next turn...
[13:51:11:641]- Debug::simulation processed
[13:51:11:641]- Debug::Political capital processed
[13:51:11:641]- Debug::Elections processed
[13:51:11:641]- Debug::Autobal processed
[13:51:11:641]- Debug::Achievements checked
[13:51:11:641]- Debug::Compass progress checked
[13:51:11:641]- Save file buffer set:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 116

[13:51:11:770]- Save Manifesto Start:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1017

[13:51:11:770]- Save Current Manifestos complete:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1027

[13:51:11:770]- Save Manifesto End:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1036

[13:51:11:770]- Save fundraising start:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1058

[13:51:11:770]- Save fundraising end:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1109

[13:51:11:770]- Save perceptions start:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1116

[13:51:11:770]- Save perceptions end:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 1144

[13:51:11:770]- Save file writing complete:D:\programming\democracy 4\builds\Democracy4\src\_all_operating_systems\sim\SIM_SaveGame.cpp 151

[13:51:11:793]- Debug::Autosave complete
[13:51:11:797]- Debug::ProcessGameLoad
[13:51:11:797]- Debug::Releasing gameplay...
[13:51:11:797]- Debug: closing attack manager
[13:51:11:797]- Debug: attack manager closed
[13:51:11:872]- Debug::preloading gameplay...
[13:51:11:872]- Debug: closing attack manager
[13:51:11:872]- Debug: attack manager closed
[13:51:11:872]- Debug:Simulation Released...
[13:51:11:872]- Debug:Initialised Globals...
[13:51:11:872]- Debug:Financemanager initialised...
[13:51:11:872]- Debug:Partymanager initialised...
[13:51:11:875]- Debug:Votermanager preloaded...
[13:51:11:875]- Debug: closing attack manager
[13:51:11:875]- Debug: attack manager closed
[13:51:11:875]- Debug: opening attack manager
[13:51:11:875]- Debug: closing attack manager
[13:51:11:875]- Debug: attack manager closed
[13:51:11:878]- SIM_Attacks loaded
[13:51:11:878]- Debug: attack manager opened
[13:51:11:878]- Debug:Pressure groups opened...
[13:51:11:878]- Releasing Scenemnager
[13:51:11:878]- Released Scenemnager
[13:51:11:878]- Debug:Scene Manager released...
[13:51:11:878]- Debug:Policy Group Initialise...
[13:51:11:878]- Initialise Scenemnager
[13:51:11:878]- Initialised Scenemnager
[13:51:11:878]- Debug:Event Manager Initialise...
[13:51:11:907]- Debug:Policy Manager Initialise...
[13:51:11:907]- Debug:Sim Value Initialise...
[13:51:11:919]- Debug:Situation Manager Initialise...
[13:51:11:923]- Debug:Achievements Initialise...
[13:51:11:923]- Debug:Ministers PreLoad...
[13:51:11:923]- Debug:GrudgeManager Initialise..
[13:51:11:923]- Debug:Dilemma Manager ResolveConnections...
[13:51:11:923]- Debug:Policy Manager ResolveConnections...
[13:51:11:927]- Debug:Event Manager ResolveConnections...
[13:51:11:931]- Debug:Sim Value ResolveConnections...
[13:51:11:931]- Debug:Situations ResolveConnections...
[13:51:11:935]- Debug:Simulation pre-load completed
[13:51:11:935]- Debug::LoadingGameData
[13:51:11:935]- LoadMission
[13:51:11:935]- LoadHashes
[13:51:11:935]- LoadParties
[13:51:11:936]- LoadVoters
[13:51:12:64]- LoadPolicies
[13:51:12:152]- LoadSituations
[13:51:12:158]- LoadDilemmas
[13:51:12:191]- LoadSimValues
[13:51:12:200]- LoadVoterTypes
[13:51:12:233]- LoadGrudges
[13:51:12:233]- LoadEvents
[13:51:12:233]- LoadFinances
[13:51:12:237]- LoadMinisters
[13:51:12:237]- LoadElection
[13:51:12:237]- LoadPolls
[13:51:12:237]- LoadPressureGroups
[13:51:12:237]- LoadSimulation
[13:51:12:237]- LoadGlobalEconomy
[13:51:12:237]- LoadGameplay
[13:51:12:237]- LoadEffects
[13:51:12:298]- LoadIssues
[13:51:12:298]- LoadChangelog
[13:51:12:298]- LoadCompassProgress
[13:51:12:298]- LoadStats
[13:51:12:298]- LoadManifestos
[13:51:12:298]- LoadFundraising
[13:51:12:298]- LoadPerceptions
[13:51:12:298]- LoadAdvice
[13:51:12:298]- Finishing Load
[13:51:12:491]- Debug::Autoload complete
[13:51:12:493]- Debug::MultithreadNextTurn complete
[13:51:12:505]- Thread finish detected by loading screen
[13:51:12:505]- Ending thread: [0][Next Turn]
[13:51:12:758]- Setting loading screen ready
[13:53:24:719]- Debug: closing attack manager
[13:53:24:719]- Debug: attack manager closed
[13:53:28:140]- Starting thread:[1][Post Events]
[13:53:28:140]- Post Events thread created OK
[13:53:28:140]- democracy4/server/post_event.php?&ver=1.132&var0_1=DILEMMA&var0_2=TortureDeportation
[13:53:28:140]- SIM_Internet::DownloadFile(C:\Users\laroc\Documents/My Games/democracy4/webdebug/tmp785.html)
[13:53:28:181]- Waiting On Thread 40 ms
[13:53:28:231]- Waiting On Thread 90 ms
[13:53:28:251]- Waiting On Thread 110 ms
[13:53:28:271]- Waiting On Thread 130 ms
[13:53:28:352]- Waiting On Thread 210 ms
[13:53:28:411]- Waiting On Thread 270 ms
[13:53:28:431]- Waiting On Thread 290 ms
[13:53:28:501]- SIM_Internet::DownloadFile ends
[13:53:28:501]- Start of SIM_Internet::CloseLink
[13:53:28:501]- End of SIM_Internet::CloseLink
[13:53:28:501]- Ending thread: [1][Post Events]
[13:53:28:505]- Starting thread:[1][Post Session]
[13:53:28:505]- Start of SIM_Internet::OpenLink
[13:53:28:505]- Post Session thread created OK
[13:53:28:505]- End of SIM_Internet::OpenLink
[13:53:28:511]- democracy4/server/post_session.php?&ver=1.132&duration=7.78&palette=Light&width=2736&height=1824&ave_fps=21.11&worst_fps=3.23
[13:53:28:511]- SIM_Internet::DownloadFile(C:\Users\laroc\Documents/My Games/democracy4/webdebug/tmp785.html)
[13:53:28:512]- releasing GEngine
[13:53:28:741]- SIM_Internet::DownloadFile ends
[13:53:28:741]- Start of SIM_Internet::CloseLink
[13:53:28:741]- End of SIM_Internet::CloseLink
[13:53:28:741]- Ending thread: [1][Post Session]
[13:53:28:975]- GEngine Released
[13:53:28:992]- Thread manager Closed
[13:53:29:7]- 
Releasing Icon Manager
[13:53:29:24]- Start of SIM_Internet::CloseLink
[13:53:29:24]- End of SIM_Internet::CloseLink

errors.txt

08/10/2020 - 11:18 - VE Clearing existing textures to replace with new [2736]x[1824]
08/10/2020 - 11:20 - VE Clearing existing textures to replace with new [2736]x[1824]
08/10/2020 - 11:22 - VE Clearing existing textures to replace with new [1368]x[912]
08/10/2020 - 11:23 - VE Clearing existing textures to replace with new [1400]x[1050]
08/10/2020 - 11:24 - VE Clearing existing textures to replace with new [1280]x[960]
08/10/2020 - 11:24 - VE Clearing existing textures to replace with new [2736]x[1824]
08/10/2020 - 15:02 - VE Clearing existing textures to replace with new [2736]x[1824]
08/10/2020 - 15:36 - VE Clearing existing textures to replace with new [1280]x[800]
08/10/2020 - 15:38 - VE Clearing existing textures to replace with new [2736]x[1824]

Has your laptop got multiple video cards? Some of them have a ‘basic card’ and also one for gaming, which should kick in automatically, but maybe it is not? Your video card seems to be pretty schizophrenic about what the resolution of your laptop screen is. Is it really 2,736 pixels by 1,824. That seems a lot for a low spec laptop.
Make sure you don’t have dual cards and the wrong setting for when the gaming one enables, and check what the default resolution for your screen is.

You’re right, it’s a pretty crazy combination! :sweat_smile: The core i7 version would have been better for gaming (better CPU, also better GPU), but I wanted the fanless version. In both cases, it’s the same screen.

2736x1824 is the native/default screen configuration, which is hard for that integrated video card. There are not two, because it is more of a tablet than a laptop. You can find out more information here:

Did you notice that Windows 7 gets detected in the debug file? It’s definitely a Windows 10 machine though.

Anyway, I’ll upload more debug files when I try again with the new version.

For reference, I played Civilization VI at around 20-30 FPS on that machine, except when games got really big, at which point it dropped to about 10 FPS.

Tomorrow’s update will be good news for you!

Interesting that its a surface. I keep thinking about getting one myself one day. Regarding windows 7, that just means ‘windows 7 or later’, which is fine. Thats all I check for.