View Issue Details

IDProjectCategoryLast Update
0024309AI War 2Bug - OtherJan 22, 2021 8:54 pm
ReporterDaw11 Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version2.713 Marauding Again 
Fixed in VersionBeta 2.721 Histiocytes And Circles 
Summary0024309: Selecting your fleet reduces the FPS a lot
DescriptionI noticed that when you select your fleet the frame rate drops a lot. For me its around 1/4 in the early game and 1/3 in the late game when I have lot of ships.
For example it can go from 144 fps to 80 fps.
It happens even if I move the camera to an empty spot and there's nothing on the screen.
When you select your fleet it adds a red circle behind every ship icon and draws a white circle around each ship. I think that one of these two thing might not be optimized.
TagsNo tags attached.

Relationships

related to 0024350 resolvedChris_McElligottPark Icons, both selected and non-selected, cause big frame drops. Also just overall perfomance stuttering 

Activities

Chris_McElligottPark

Jan 8, 2021 3:55 pm

administrator   ~0060238

I have a feeling it's the selected ships UI itself. That thing has to iterate over a bunch of things, and sort itself, and show percentages of health, etc.

The circles around the units themselves in game-space are indeed newly drawn, but they're batched with IMDraw really efficiently. It's super super efficient math. The other circles behind the icons are baked into a custom shader I wrote, and are just another image. There is some added overdraw and there is transparency happening, but it shouldn't affect any modern machine in a substantially negative way.

To test that theory, you can select some ships and then tab to the galaxy map. If you still see a framerate drop, it's definitely the selected ships interface. The on-planet stuff isn't drawn in any way, or even fully in memory, at that time. If you have a particularly egregious savegame, I'd love to have it, and know what to select.

Cheers!

Daw11

Jan 8, 2021 4:20 pm

reporter   ~0060241

I get almost 144 fps on the planet view, If I select my fleet it drops to 80. If I go to the galaxy view with my fleet selected it goes back to 144.
I added a save game but it generally happens with every game. The main fleet is on the planet Gaes.
It might just be a driver issue if no one else has this problem.

Daw11

Jan 8, 2021 4:20 pm

reporter  

ArcenDebugLog.txt (9,006 bytes)   
1/8/2021 10:16:26 PM	SINGLEP	Current directory used: /home/davide/.local/share/Steam/steamapps/common/AI War 2/
Process Count = 0 so PlayerDataDirectory used: /home/davide/.local/share/Steam/steamapps/common/AI War 2/PlayerData/
1/8/2021 10:16:26 PM	SINGLEP	Boot up FleetOS (0.2166s)
1/8/2021 10:16:26 PM	SINGLEP	graphicsDeviceType in use: OpenGLCore
graphicsDeviceVersion in use: OpenGL 4.6 (Core Profile) Mesa 20.3.1
graphicsMultiThreaded: True
graphicsShaderLevel: 50
operatingSystem: Linux 5.10 ManjaroLinux 20.2 64bit
graphicsDeviceName: Radeon RX 590 Series (POLARIS10, DRM 3.40.0, 5.10.2-2-MANJARO, LLVM 11.0.0)
graphicsDeviceID: 26591
graphicsDeviceVendor: AMD
graphicsDeviceVendorID: 4098
graphicsDeviceVersion: OpenGL 4.6 (Core Profile) Mesa 20.3.1
graphicsMemorySize: 7585
maxTextureSize: 16384
npotSupport: Full
processorType: AMD Ryzen 7 2700X Eight-Core Processor
processorCount: 16
processorFrequency: 2715
systemMemorySize: 15977
supportedRenderTargetCount: 8
supportsComputeShaders: True
supportsShadows: True
usesReversedZBuffer: False
1/8/2021 10:16:26 PM	SINGLEP	Check System Logs For Rogue Intelligence (0.1990s)
1/8/2021 10:16:26 PM	SINGLEP	Inspect Aft Hatches (0.0090s)
1/8/2021 10:16:26 PM	SINGLEP	Found 280 xml files in 86 folders in 8ms
1/8/2021 10:16:27 PM	SINGLEP	Check For Extra Modules (0.3400s)
1/8/2021 10:16:27 PM	SINGLEP	280 Xml Files Parsed in 331ms
1/8/2021 10:16:27 PM	SINGLEP	Gather Ancient Lifeforms (0.0053s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Game Version: 2.713
1/8/2021 10:16:27 PM	2.713	SINGLEP	Eject Trash Into Hyperspace (0.0084s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Bring Cloaking Systems Online (0.0046s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Recalculate Speed Of Light (0.0093s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Optimize Comfort On Command Decks (0.0107s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Generating Framerates (0.0047s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Update mod and expansion statuses!
1/8/2021 10:16:27 PM	2.713	SINGLEP	Expansions:  The Spire Rises (Installed And Enabled!)  Zenith Onslaught (NOT INSTALLED)  The Neinzul Abyss (NOT INSTALLED)  
1/8/2021 10:16:27 PM	2.713	SINGLEP	Mods:  AMU (Disabled)  ExtendedShipVariants (Disabled)  KaizersMarauders (Disabled)  MicroModCollection (Disabled)  MoreStartingOptions (Disabled)  MoreSystemDefenders (Disabled)  SKCivilianIndustry (Disabled)  SpireRailgunShop (Disabled)  
1/8/2021 10:16:27 PM	2.713	SINGLEP	Check Nearby Stellar Masses (0.0219s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	280 Xml Files Checked For Exp/Mod Status in 9ms
1/8/2021 10:16:27 PM	2.713	SINGLEP	Pruning Excess Brain Cells (0.0145s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Remembering Alamo (0.0134s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Boot Audio Comms (0.0066s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Establish Individual Audio Links (0.0167s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	No resolution change was required.
1/8/2021 10:16:27 PM	2.713	SINGLEP	Applied graphics settings: 
AntialiasingMode:x2
UseSoftParticles:False
BillboardsFaceCameraPosition:False
AnisotropicMode:ForceEnable
TextureQuality:Full
1/8/2021 10:16:27 PM	2.713	SINGLEP	Applied Framerate Type: 144 FPS (vsync: 0 targetFPS:144)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Refresh Optical Lensing (0.0067s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Revise Fundamental Physical Laws (0.0161s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Calculate Odds Of Success (0.0248s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Briefly Panic (0.1814s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Install Confidence Routines (0.2481s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Bring Commander Interface Online (0.0670s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Motivate All Crews (0.0357s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Locating Available Networks (0.0160s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Externalizing Patterns (0.0196s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Hooking Externals (0.0095s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Handlizing Hooks (0.0101s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Disengaging Constants (0.0198s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Late Axionic Computations (0.0672s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Suppressing Bad Thoughts (0.0060s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Sentinel Alertness Diagnostic (0.0063s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Connecting to Fleet Command (0.0069s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Thinking Of Advice (0.0066s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Degaussing Advice (0.0075s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Reading Alien Diaries (0.0067s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Naming All Known Planets (0.0066s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Remembering Speeds (0.0068s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Prioritizing Targets (0.0069s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Rebooting Sensor Arrays (0.0069s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Unloading Prismatic Grid (0.0070s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Thinking Of Objectives (0.0071s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Inhibiting Visual Scans (0.0080s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Synthesizing Vocals (0.0065s)
1/8/2021 10:16:27 PM	2.713	SINGLEP	Investigating Map Signatures (0.0098s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Ventilating Scenarios (0.0058s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Decontaminating Targeting Systems (0.0064s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Ejecting Tactical Core (0.0070s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Calibrating Formations (0.0066s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Intercepting Galactic Maps (0.0079s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Discharging Colored Ions (0.0130s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Replicating Ion Colors (0.0048s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Faction Diagnostics (0.0113s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Buffering Hackers (0.0090s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Inverting Death (0.0066s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Linear Field Variance (0.0069s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Charging Marks (0.0054s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Guarding The Posts (0.0539s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Range Manifolds (0.0070s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Purging ROFs (0.0050s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Manipulating Speeds (0.0076s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Detecting Projectiles (0.0063s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Grouping Flow Fields (0.0073s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Modulating Flow Field Groups (0.0113s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Designing Fleets (0.0091s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Thinking Of Technologies (0.0061s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Categorizing Starboard Sensors (0.0058s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Injecting Galactic Variables (0.0087s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Sweet-Talking Starfields (0.0112s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Reconstituting Distant Planets (0.2022s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Categorizing All Planets (0.0077s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Organizing Commands (0.0169s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Calculating Firing Cones (0.0067s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Disassembling And Reassembling Ship Parts (0.1703s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Re-Aligning Objectives (0.0195s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Sterilizing Test Chamber (0.0118s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Issuing Orders (0.0109s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Augmenting Infusers (0.0244s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Infusing (0.0233s)
1/8/2021 10:16:28 PM	2.713	SINGLEP	Load Surrogates (0.0652s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Balancing Thermals (1.8598s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Post-Proton Surge (0.0140s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Background Radiation Taste Test (0.0172s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Shuffling Chairs On Command Deck (0.0141s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Windshield Wiping (0.0049s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Last Organizational Modeling (0.0981s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Stimulate Modulation (0.0416s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Tip Servos (0.0084s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Sort Buildings Into Uneven Piles (0.0088s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Design New Fleet Logo (0.0113s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Order Cores By Seniority (0.0082s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	ArcenAssetBundleCache.InstantiatedObjects: 1067
1/8/2021 10:16:30 PM	2.713	SINGLEP	Make Factions That Extra Bit Special (0.0057s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Final Checks (0.0493s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	Load Historical Documents (0.0030s)
1/8/2021 10:16:30 PM	2.713	SINGLEP	4.6 seconds total load time.
Check For Extra Modules (0.3s)
Balancing Thermals (1.9s)
1/8/2021 10:16:31 PM	2.713	SINGLEP	Hello Steam user 'Daw11'
1/8/2021 10:16:34 PM	2.713	SINGLEP	Start load save: /home/davide/.local/share/Steam/steamapps/common/AI War 2/PlayerData/Save/1/1.save Source1: AnythingElse Source3: LoadingSaveGame
1/8/2021 10:16:34 PM	2.713	SINGLEP	Recalculated Strengths For Loaded Galaxy Map in 22ms
1/8/2021 10:16:34 PM	2.713	SINGLEP	Finish load save in 349.0ms
ArcenDebugLog.txt (9,006 bytes)   
1.save (249,246 bytes)
1.savemet (71 bytes)

Chris_McElligottPark

Jan 8, 2021 4:53 pm

administrator   ~0060244

Hmm, okay, that doesn't sound like the fleet selection window then, you're right.

The various circles being drawn around the ships shouldn't be THAT heavy, although I'm not positive how many we're talking about.

If you select some number of ships and then hold the Z key to show ranges, does your framerate also drop a ton then? If that's the case, then this might be an IMDraw thing after all. If it's not the case, then maybe it's somehow a matter of overdraw with the icons. If you have lots of ships selected and you zoom in low enough that icons disappear, how does your framerate behave?

Sorry for all the questions, but every GPU is different.

Chris_McElligottPark

Jan 8, 2021 5:05 pm

administrator   ~0060245

Looking at things, I'm using IMDraw 2.0

That says that the new SRP process is slower but more compatible:
http://www.harveyc.net/IMDrawDocs/IMDraw%20User%20Guide.pdf

This says it's much faster:
http://www.harveyc.net/?p=220

Curious.

Daw11

Jan 8, 2021 5:09 pm

reporter   ~0060246

If zoom low and the icons disappear the frame rate stays the same.
If I hold the Z key I get another large fps drop.
It's almost certainly a problem with the circles of IMDraw.

Chris_McElligottPark

Jan 8, 2021 5:15 pm

administrator   ~0060247

Hmm, I am getting some rather conflicting results.

1. Yes, if I draw all the range circles, then I get a large FPS drop. This is pretty much unavoidable, given that it's so much overdraw. How much drop can be mitigated various ways, but some drop is kind of inevitable.

2. When I hide the GUI using Ctrl+F12, my framerate goes up a LOT in general. When I am in the planetary view and have ships selected or not selected and the interface is hidden, I get maybe a very small drop compared to what I get when the interface is on. In my case I am playing without ship models (I start and stop the program like 100 times a day, I need all the load speed I can get), so icons are drawing in all of these cases.

From my own testing, it seems like the largest drop is from the selected ships window, but there is a nontrivial drop from the actual selection circles in IMDraw. This is in no way conclusive. I'm curious if you retest a little bit, and try with and without the GUI, if you see similar results.

When I moved to the galaxy map, I was also still seeing a plenty large drop from having ships selected, BUT it was a choppy sort of a drop, not an every-frame drop.

Chris_McElligottPark

Jan 8, 2021 5:21 pm

administrator   ~0060249

Playing around with some tools that I only have in the unity editor, if I disable the IMDraw stuff directly, I get a 20fps bump in the main view. I can repeat this over and over. I'm still a bit confused about some other bits with the selection window results I was getting, but maybe there is just noise from other factors in that. I think that you may be right that this is mostly IMDraw, if not entirely.

Daw11

Jan 8, 2021 5:23 pm

reporter   ~0060250

If I disable the the GUI there's no performance difference when I select my fleet.
That's probably because it doesn't draw the circles around the ships.

Chris_McElligottPark

Jan 8, 2021 5:34 pm

administrator   ~0060251

Ah shoot! I missed that, and that completely tainted that sort of test. Yep, you're spot on with that. Okay, I won't be able to deal with this today, but I will look into things that can be done.

Right now the materials are using the transparent pipeline, which is slow and not a good idea. So far when I change that, it doesn't help. I can upgrade to the latest version of IMDraw (I'm on 1.2 right now) and see if the SRP version is actually faster or slower for real. I am also going to do a scan for other options that might be more multithreaded. There's no reason this stuff can't be calculated a background thread past a certain point, but it is not at present.

I am seeing a large rise in both the render thread on unity, and in the main thread, so it's hard for me to tell how much multithreading would help it beyond what is there right now. I looked at the distance culling option per camera, but that does not seem to work properly in version 1.2.

Chris_McElligottPark

Jan 8, 2021 5:46 pm

administrator   ~0060252

Well, I bought ALINE back on Nov 20, and it might do a better job: https://arongranberg.com/aline/docs/advanced.html

Chris_McElligottPark

Jan 22, 2021 8:54 pm

administrator   ~0060378

Thanks!

* The way that circles are drawn around ships that are selected, or that you hover over, is now based on Shapes instead of IMDraw. This looks incredibly more polished now, and comes with a far less substantial performance hit than before when you have a bunch of ships that are all selected at once.
** There are still various other parts of the game to update with this new style, but these were the really big ones that were causing massive slowdowns for folks on newer drivers.
** For Chris in a standalone build, in the "terrible framerate" test case from Daw11, the framerate was previously getting cut in half from 130fps to around 60fps or even lower on his GTX 1070 and i7-6700HQ. Now it drops from about 130fps to about 120fps. This is way more appropriate for the type of operation being undertaken.
** It's also far more attractive!

Issue History

Date Modified Username Field Change
Jan 8, 2021 2:25 pm Daw11 New Issue
Jan 8, 2021 3:55 pm Chris_McElligottPark Note Added: 0060238
Jan 8, 2021 4:20 pm Daw11 Note Added: 0060241
Jan 8, 2021 4:20 pm Daw11 File Added: ArcenDebugLog.txt
Jan 8, 2021 4:20 pm Daw11 File Added: 1.save
Jan 8, 2021 4:20 pm Daw11 File Added: 1.savemet
Jan 8, 2021 4:53 pm Chris_McElligottPark Note Added: 0060244
Jan 8, 2021 5:05 pm Chris_McElligottPark Note Added: 0060245
Jan 8, 2021 5:09 pm Daw11 Note Added: 0060246
Jan 8, 2021 5:15 pm Chris_McElligottPark Note Added: 0060247
Jan 8, 2021 5:21 pm Chris_McElligottPark Note Added: 0060249
Jan 8, 2021 5:23 pm Daw11 Note Added: 0060250
Jan 8, 2021 5:34 pm Chris_McElligottPark Note Added: 0060251
Jan 8, 2021 5:46 pm Chris_McElligottPark Note Added: 0060252
Jan 20, 2021 12:13 pm Lightjolly Relationship added related to 0024350
Jan 22, 2021 8:54 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Jan 22, 2021 8:54 pm Chris_McElligottPark Status new => resolved
Jan 22, 2021 8:54 pm Chris_McElligottPark Resolution open => fixed
Jan 22, 2021 8:54 pm Chris_McElligottPark Fixed in Version => Beta 2.721 Histiocytes And Circles
Jan 22, 2021 8:54 pm Chris_McElligottPark Note Added: 0060378