From ca7c4e8bf82fc6c12b4798c84c6bade5e9b96360 Mon Sep 17 00:00:00 2001 From: Alexander Eckart Date: Thu, 3 Jan 2013 16:58:26 +0100 Subject: [PATCH] added GC.Collect() --- Vocaluxe/Base/CGraphics.cs | 13 +++++++++++++ Vocaluxe/Base/CSongs.cs | 1 + Vocaluxe/Screens/CScreenSing.cs | 1 + 3 files changed, 15 insertions(+) diff --git a/Vocaluxe/Base/CGraphics.cs b/Vocaluxe/Base/CGraphics.cs index bbb9ce05..b1edd7f5 100644 --- a/Vocaluxe/Base/CGraphics.cs +++ b/Vocaluxe/Base/CGraphics.cs @@ -403,6 +403,7 @@ namespace Vocaluxe.Base else { _Screens[(int)_CurrentScreen].OnClose(); + GC.Collect(); _CurrentScreen = _NextScreen; _NextScreen = EScreens.ScreenNull; if(CBackgroundMusic.Playing) @@ -786,6 +787,18 @@ namespace Vocaluxe.Base dy += rect.Height; } + if (CConfig.DebugLevel >= EDebugLevel.TR_CONFIG_LEVEL1) + { + long memory = GC.GetTotalMemory(false); + txt = (memory / 1000000L).ToString(CLanguage.Translate("TR_DEBUG_MEMORY") + ": 00000 MB"); + + RectangleF rect = new RectangleF(CSettings.iRenderW - CFonts.GetTextWidth(txt), dy, CFonts.GetTextWidth(txt), CFonts.GetTextHeight(txt)); + + CDraw.DrawColor(Gray, new SRectF(rect.X, rect.Top, rect.Width, rect.Height, CSettings.zNear)); + CFonts.DrawText(txt, rect.X, rect.Y, CSettings.zNear); + dy += rect.Height; + } + if (CConfig.DebugLevel >= EDebugLevel.TR_CONFIG_LEVEL2) { txt = CSound.RecordGetToneAbs(0).ToString(CLanguage.Translate("TR_DEBUG_TONE_ABS") + " P1: 00"); diff --git a/Vocaluxe/Base/CSongs.cs b/Vocaluxe/Base/CSongs.cs index 4bb2e2ed..09d23ab5 100644 --- a/Vocaluxe/Base/CSongs.cs +++ b/Vocaluxe/Base/CSongs.cs @@ -1055,6 +1055,7 @@ namespace Vocaluxe.Base CLog.StopBenchmark(2, "Load Cover"); } CLog.StopBenchmark(1, "Load Songs "); + GC.Collect(); } public static void LoadCover(long WaitTime, int NumLoads) diff --git a/Vocaluxe/Screens/CScreenSing.cs b/Vocaluxe/Screens/CScreenSing.cs index 13afb5a5..b1775d87 100644 --- a/Vocaluxe/Screens/CScreenSing.cs +++ b/Vocaluxe/Screens/CScreenSing.cs @@ -569,6 +569,7 @@ namespace Vocaluxe.Screens Texts[htTexts(TextSongName)].Text = String.Empty; Texts[htTexts(TextDuetName1)].Text = String.Empty; Texts[htTexts(TextDuetName2)].Text = String.Empty; + GC.Collect(); } private void LoadNextSong()