Что означает [Сбор мусора] на этой картинке? А вещь "20 звонков"?
Я имею в виду, как я могу понять, почему GC так долго? Было ли это собирать много мелких предметов? Один большой? Любые намеки относительно того, как оптимизировать это вообще?
Код, о котором идет речь:
private void DeserializeFrom(SerializationInfo info)
{
Width = info.GetInt32("width");
Height = info.GetInt32("height");
var data = (List<byte>)info.GetValue("cells", typeof(List<byte>));
cells = new Cell[physicalSize.Width, physicalSize.Height];
int pos = 0;
for (int x = 0; x < physicalSize.Width; x++)
{
for (int y = 0; y < physicalSize.Height; y++)
{
cells[x, y] = new Cell();
if (x < Width && y < Height)
{
cells[x, y].HasCar = data[pos];
pos++;
}
}
}
}
Ничего особенного. Я подозреваю, что виновником является большой List<byte>
объект, но я подумал, что сбор одного, большого объекта должен быть мгновенным (в отличие от сбора небольших объектов).