1
메모리 사용량이 올라가거나 올라가는 데 문제가 있고 메모리가 남아 있지 않을 때까지 확장됩니다. 이미지를 빌드하기 위해 GHeat.Net
플러그인을 사용하고 있습니다. 어떤 이유로Visual Basic 메모리 사용이 계속 확장됩니다.
Dim pm As New gheat.PointManager()
Dim g As Graphics
Dim startZoom As Integer = 2
Dim maxZoom As Integer = 17
gheat.Settings.BaseDirectory = "C:\\gheatWeb\\__\\etc\\"
pm.LoadPointsFromFile("C:\\points.txt")
For zoom As Integer = startZoom To maxZoom
Dim startX As Integer = 0
Dim startY As Integer = 0
Dim maxX As Integer = 2^zoom
Dim maxY As Integer = 2^zoom
For x As Integer = startX To maxX
For y As Integer = startY To maxY
Dim filename As String = "C:\\images\\" + zoom.ToString + "\\x" + x.ToString + "y" + y.ToString + "zoom" + zoom.ToString + ".gif"
gheat.GHeat.GetTile(pm, "classic", zoom, x, y).Save(filename, System.Drawing.Imaging.ImageFormat.Gif)
Next
Next
Next
나는 for
루프를 칠 때 천장을 돌 때까지, 사용 된 메모리의 양이 그냥 위로 위로 상승 : 여기에 전체 코드입니다. 그렇더라도 프로그램은 계속 실행되지만 메모리 양은 증가하지 않습니다. 이 프로그램은 20Mb에서 정상적으로 생성되므로 왜 계속 올라갈 지 알 수 없습니다.
또한 가장 안쪽 루프의 끝에 GC.Collect
을 시도했지만 아무런 소용이 없습니다. 어떤 아이디어?
이렇게하면 사진마다 메모리가 계속 증가하지 않고 삭제되지 않을 수 있습니다. 굉장해. 불행히도, 나는 여전히 엄청난 양의 메모리를 사용하고 있습니다. 줌이 약 8 또는 9에 도달하면 내 메모리 사용량이 램에 거의 도달하고 다음 확대/축소 수준에서 다시 두 배가됩니다. 나는 메모리 프로파일 링을 시도했지만, 그 패턴으로 올라가는 유일한 것은 GC# 1이다. 아하. 어떤 아이디어? –