Метод сериализации или десериализации класса C # вызывает много GC - PullRequest
0 голосов
/ 02 января 2019

Я делаю систему загрузки 2D-чанков, поэтому я делаю класс чанков и сериализую или десериализую этот класс в файл, однако у меня возникает большая проблема, когда я использую метод, seriallize или десериализу, этот метод вызывает огромное выделение GC, поэтомуМоя игра замедлилась.Итак, мне интересно, seriallize причина GC или мой код имеет проблемы, поэтому, seriallize причина GC

я проверил десериализацию причины GC

public int[,] chank_Collision_Getter(int x,int y)
{
    BinaryFormatter bf = new BinaryFormatter();
    TextAsset target_File = (TextAsset)Resources.Load("Base_Chank");
    byte[] file_Bytes = target_File.bytes;
    Stream file = new MemoryStream(file_Bytes);

    if (file != null && file.Length > 0)
    {
        read_Only_Chank = (ChankStruct)bf.Deserialize(file);//GC Alloc

    }

    file.Close();
    return read_Only_Chank.collision_Getter();
}

как я могу уменьшить GC, вызванный десериализации

...