Интерпретация использования памяти игрой в Go - PullRequest
0 голосов
/ 20 октября 2019

Я добавил профилирование памяти в свою игру, и, просматривая статистику, я вижу что-то вроде этого:

# runtime.MemStats
# Alloc = 1022232
# TotalAlloc = 14369528
# Sys = 72286456
# Lookups = 0
# Mallocs = 192759
# Frees = 184964
# HeapAlloc = 1022232
# HeapSys = 66519040
# HeapIdle = 64667648
# HeapInuse = 1851392
# HeapReleased = 61906944
# HeapObjects = 7795
# Stack = 589824 / 589824
# MSpan = 29920 / 65536
# MCache = 6944 / 16384
# BuckHashSys = 1444778
# GCSys = 2377728
# OtherSys = 1273166
# NextGC = 4194304
# LastGC = 1571576758413809106
# PauseNs = [136190 27071 23449 40823 35342 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
# PauseEnd = [1571576480170696886 1571576526952274688 1571576646967831188 1571576688475083354 1571576758413809106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
# NumGC = 5
# NumForcedGC = 0
# GCCPUFraction = 2.6422038270754447e-06
# DebugGC = false

Я считаю, что у меня утечки памяти, но мне трудно точно определитьточный код, делающий это. Я считаю, что у меня есть утечки, потому что я могу «приостановить» игру, и когда я делаю это, я просто продолжаю в игровом цикле, но я ничего не делаю (я не рисую на экране и не создаю новые объекты), но я вижу поле TotalAlloc продолжает расти и расти вечно, поэтому я предполагаю, что что-то определенно должно быть не так, верно?

Вот мой код: https://github.com/Matias-Barrios/SDL_Universe/blob/master/main.go

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...