0
Planned

memory utilization

EarlOfManwich 2 years ago • updated by SHOAIB (Moderator (EN)) 2 years ago 4

Hi devs... great job with Tanki-X; I really like what you've done. The game works really well for about the first hour and then begins to seriously lag.


Initially I thought it might have been server issues or graphics. Upon further inspection however the memory utilization jumps up to HUGE numbers, so I'd suspect that's the issue (see below).




Compare that with VS2015 in memory utilization (Tanki-X is running at 15x that of a well-known resource hog)...



A garbage collection (GC) issue somewhere perhaps? I honestly don't know, but I imagine it will help with many of the lags and performance issues as many machines can't accommodate that sort of RAM utilization.

Planned

At the moment, when memory utilization jumps, were you in the battle or in the hanger(garage)?
By the way, minimum system requirement is 4GB on Ultra graphics, but the game takes less than 2GB.

In battle is where you really notice the erratic behavior. Considering the memory usage stays pretty consistent (albeit continues to climb), I'd imagine it's that way in the garage as well but the intermittent pauses aren't really noticeable.


An example, when using something like smoky, it becomes almost impossible to shoot; you'll line up, the game pauses for about 0.20 seconds and the target has moved and you end up shooting at nothing. The reason I wonder about the GC is looking at the logs you can see (by design) it's meant to clean up unused resources to free up memory. I think somewhere something isn't getting cleaned up and the memory usage continues to grow (see below). Granted this isn't the best machine in the world, but it's pretty base-level by today's standards.


As a dev, not only do I think Tanki is cool, but Tanki-X (with it's base in Unity/Mono/C#) really interests me. Hope it helps :)


Initialize engine version: 5.4.1p3 (1b587b7935dc)
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 11.0 [level 11.0]
Renderer: Intel(R) HD Graphics 4000 (ID=0x166)
Vendor: Intel
VRAM: 912 MB
Begin MonoManager ReloadAssembly
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.UI.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\BouncyCastle.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\BouncyCastle.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\SSAA.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\SSAA.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\AmplifyColor.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\AmplifyColor.dll into Unity Child Domain
- Completed reload, in 0.082 seconds
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Core.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Xml.dll (this message is harmless)
<RI> Initializing input.
XInput1_3.dll not found. Trying XInput9_1_0.dll instead...
<RI> Input initialized.
desktop: 1366x768 60Hz; virtual: 1366x768 at 0,0
<RI> Initialized touch support.
UnloadTime: 1.393747 ms
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Mono.Security.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Configuration.dll (this message is harmless)
load client logger config: file:///C:/Users/RCR/AppData/Local/TankiX/tankix_Data/log4net.xml

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
Unloading 6 Unused Serialized files (Serialized files now loaded: 0)
UnloadTime: 0.612510 ms
load client logger config: file:///C:/Users/RCR/AppData/Local/TankiX/tankix_Data/log4net.xml

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Unloading 220 unused Assets to reduce memory usage. Loaded Objects now: 4737.
Total: 34.018944 ms (FindLiveObjects: 0.181043 ms CreateObjectMapping: 0.348539 ms MarkObjects: 32.127224 ms DeleteObjects: 1.360905 ms)
Initialize engine version: 5.4.1p3 (1b587b7935dc)
GfxDevice: creating device client; threaded=1
Direct3D:
Version: Direct3D 11.0 [level 11.0]
Renderer: Intel(R) HD Graphics 4000 (ID=0x166)
Vendor: Intel
VRAM: 912 MB
Begin MonoManager ReloadAssembly
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.UI.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\BouncyCastle.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\BouncyCastle.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\SSAA.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\SSAA.dll into Unity Child Domain
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\AmplifyColor.dll (this message is harmless)
Loading C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\AmplifyColor.dll into Unity Child Domain
- Completed reload, in 0.089 seconds
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Core.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Xml.dll (this message is harmless)
<RI> Initializing input.
XInput1_3.dll not found. Trying XInput9_1_0.dll instead...
<RI> Input initialized.
desktop: 1366x768 60Hz; virtual: 1366x768 at 0,0
<RI> Initialized touch support.
UnloadTime: 1.954120 ms
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\Mono.Security.dll (this message is harmless)
Platform assembly: C:\Users\RCR\AppData\Local\TankiX\tankix_Data\Managed\System.Configuration.dll (this message is harmless)
load client logger config: file:///C:/Users/RCR/AppData/Local/TankiX/tankix_Data/log4net.xml

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
Unloading 6 Unused Serialized files (Serialized files now loaded: 0)
UnloadTime: 1.144556 ms
load client logger config: file:///C:/Users/RCR/AppData/Local/TankiX/tankix_Data/log4net.xml

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Unloading 220 unused Assets to reduce memory usage. Loaded Objects now: 4737.
Total: 41.149433 ms (FindLiveObjects: 0.239338 ms CreateObjectMapping: 0.459382 ms MarkObjects: 38.600456 ms DeleteObjects: 1.849025 ms)
LOG_MARK: Device type: Desktop
LOG_MARK: Graphics device name: Intel(R) HD Graphics 4000
LOG_MARK: Graphics memory size: 912 Mb
LOG_MARK: Graphics shader model: 50
LOG_MARK: Operating system: Windows 10 (10.0.0) 64bit
LOG_MARK: System memory size: ~7894 Mb
LOG_MARK: Processor type: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
LOG_MARK: Processor count: 4
LOG_MARK: Lobby load is completed
LOG_MARK: Garage scene start async loading
Unloading 9 Unused Serialized files (Serialized files now loaded: 207)
UnloadTime: 4.148812 ms
LOG_MARK: User ready to lobby
LOG_MARK: User is on Home screen.
Setting up 4 worker threads for Enlighten.
Thread -> id: ef4 -> priority: 1
Thread -> id: 1ddc -> priority: 1
Thread -> id: 1b54 -> priority: 1
Thread -> id: c14 -> priority: 1
Unloading 127 unused Assets to reduce memory usage. Loaded Objects now: 38970.
Total: 141.104355 ms (FindLiveObjects: 5.221525 ms CreateObjectMapping: 4.294139 ms MarkObjects: 112.905075 ms DeleteObjects: 18.682379 ms)
LOG_MARK: User start going to battle Iran
Shader 'UpdateRankEffect/Distortion/CullBack': fallback shader 'Effects/Distortion/Free/CullOff' not found
LOG_MARK: Battle load is completed
LOG_MARK: Iran scene start async loading
Unloading 3 Unused Serialized files (Serialized files now loaded: 328)
UnloadTime: 18.687717 ms
LOG_MARK: Battle map is inited
Unloading 664 unused Assets to reduce memory usage. Loaded Objects now: 63494.
Total: 212.504486 ms (FindLiveObjects: 5.049513 ms CreateObjectMapping: 6.331187 ms MarkObjects: 136.334000 ms DeleteObjects: 64.788139 ms)
LOG_MARK: User is ready to battle
LOG_MARK: User left battle
LOG_MARK: Garage scene start async loading
Unloading 3 Unused Serialized files (Serialized files now loaded: 374)
UnloadTime: 32.781200 ms
LOG_MARK: User ready to lobby
Unloading 14149 unused Assets to reduce memory usage. Loaded Objects now: 43259.
Total: 441.090240 ms (FindLiveObjects: 7.145267 ms CreateObjectMapping: 5.910805 ms MarkObjects: 202.032288 ms DeleteObjects: 226.001053 ms)
LOG_MARK: User is on Home screen.
LOG_MARK: User is on Home screen.
LOG_MARK: User is on Home screen.
Application ending after 1052.731 seconds

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

You are using Intel(R) HD Graphics 4000 1GB which is not enough for the game to run smoothly. I recommend you to set the graphics level to minimum settings, that will minimize the lag on your system.