Wziąłem się za pisanie gry w MonoGame. Napotkałem niestety problem... Po załadowaniu tekstur po pewnym czasie próbuję je wyładować, ale mimo wykonywania metody .Dispose() pamięć nie znika... więcej, jeżeli wykonam zamieszczony kod w pętli to zajęta pamięć ciągle rośnie, wie ktoś jak to rozwiązać?
.NET: Framework 4
MonoGame: 3.4
Visual Studio 2015
Projekt: Windows DirectX
if (Keyboard.GetState().IsKeyDown(Keys.Space))
{
Texture2D BorderHorizontal;
Texture2D BorderVertical;
Texture2D Corner;
Texture2D Fill;
var patch = "Content/Styles/Simple/SIMPLE";
using (Stream reader = File.OpenRead(patch + "_BH.png"))
{
BorderHorizontal = Texture2D.FromStream(GraphicsDevice, reader);
reader.Dispose();
}
using (Stream reader = File.OpenRead(patch + "_BV.png"))
{
BorderVertical = Texture2D.FromStream(GraphicsDevice, reader);
reader.Dispose();
}
using (Stream reader = File.OpenRead(patch + "_C.png"))
{
Corner = Texture2D.FromStream(GraphicsDevice, reader);
reader.Dispose();
}
using (Stream reader = File.OpenRead(patch + "_F.png"))
{
Fill = Texture2D.FromStream(GraphicsDevice, reader);
reader.Dispose();
}
BorderHorizontal.Dispose();
BorderVertical.Dispose();
Corner.Dispose();
Fill.Dispose();
GC.Collect();
}