wenn ich ein Texture freigebe, ändert sich im Speicher fast nichts (d.h. ganz ganz wenig) , wenn ich den Modul noch mal läde, nimmt die Anwendung von dem Speicher immer wieder mehr Platz.
kennt Jemand eine Lösung??
Zuletzt geändert von BawerPower am Sa Apr 10, 2010 13:01, insgesamt 1-mal geändert.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Redest du von Grafik- oder von normalem Arbeitsspeicher? Wenn du von letzterem Redest, hat das vermutlich wenig mit OpenGL zu tun sondern mehr damit, wie du deine Textur lädst (dazu wäre dann Code interessant, um die genaue Ursache zu finden). Wenn du von Grafikspeicher redest … öhm … keine Ahnung .
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
function loadEncodedJPGImage(Key, sourceFile:String) : TJPEGImage; begin ... mStream := TMemoryStream.Create; mStream := loadEncodedFile(Key, sourceFile); mStream.Position := 0; try Result := TJPEGImage.Create; Result.LoadFromStream(mStream); mStream.Free; except Result := nil; mStream.Free; end;
und die function getImageHandle
Code:
function getImageHandle(AJpg : TJPEGImage):GLuInt; var BMP : TBitmap; begin BMP:=TBitmap.Create; BMP.pixelformat:=pf32bit; BMP.width:=AJpg.width; BMP.height:=AJpg.height; BMP.canvas.draw(0,0,AJpg); // Copy the JPEG onto the Bitmap Result := getImageHandle(BMP); BMP.free;
... function getImageHandle(Abmp : TBitMap):GLuInt; var Data : TGLBMPData; begin Data := convertBMP2GLData(Abmp); Result := getImageHandle(Data); end;
function getImageHandle(iData : TGLBMPData): GLuInt; begin Result := CreateTexture(iData.Width, iData.Height, GL_RGBA, addr(iData.Data[0])); end;
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.