Текущий архив: 2006.04.09;
Скачать: CL | DM;
Вниз[D3D] Утекает видеопамять :( Найти похожие ветки
← →
dRake © (2005-09-24 12:51) [0]Вот такой вот прикол:
[code]
// GetAvailableMemory = 213Mb
Texture := D3DDevice.CreateTexture(....);
// GetAvailableMemory = 212Mb
Texture := nil;
// GetAbailableMemory = 212Mb :(
[/code]
Вот такая вот засада. Что делать?
← →
DR0N © (2005-09-24 13:02) [1]Кстати нечто похожее у меня в OpenGl:
создаю текстуру, удоляю glDeleteTexture
А память высвобождается но не все, немного хавается хз почему,
а конкретно ты чувак просто обнуляешб указатель на текстуру а саму текстуру из памяти не удаляешь.
← →
Sphinx © (2005-09-24 14:37) [2]2 DR0N ©
А это особенность DirectX+Delphi
Полностью код удаления текстуры выглядит так:Texture._Release;
Texture := nil;
но прикол в том, что при выполнении для интерфейса:= nil
Delphi вызывает._Release
автоматом...
Поэтому самостоятельный вызов релиза может вызвать (а может и не вызвать) AV, вот такая багофича :)
2 dRake ©
Я бы не сильно доверял этим счетчикам...
← →
dRake © (2005-09-24 23:59) [3]Sphinx
>Поэтому самостоятельный вызов релиза может вызвать (а может и не >вызвать) AV, вот такая багофича :)
Ага в том и багофича, самостоятельный релиз вызывает AV.
Где-то по коду у меня увеличивается рефкаунтер текстуры, поэтому по хорошему я бы с радостью сделал что то вроде
while Texture._Release > 0 do begin;end;
Чтобы гарантированно замочить текстуру при любом значении рефкаунтера,
но добрая делфя мне не дает этого сделать :(
← →
dRake © (2005-09-25 00:01) [4]DR0N
>а конкретно ты чувак просто обнуляешб указатель на текстуру а саму >текстуру из памяти не удаляешь.
Учи матчасть (COM)
← →
dRake © (2005-09-25 00:07) [5]Что же делать то? :(
← →
Sphinx © (2005-09-25 11:35) [6]2 dRake ©
Попробуй создать массив из нескольких десятков текстур...
Чтобы памяти "отъелось" не 1 МБ а поприличней, ну хотя бы 15-20 МБ
а потом удали текстуры и посмотри на показания счетчика...
И еще попробуй посоздавать текстуру в разных пулах, потому что например в MANAGED текстура создается и в видео памяти и в системной и копируется туда/обратно по необходимости, и посмотреть что будет в памятью...
← →
Micke © (2005-09-26 20:43) [7]dRake, звиняй за новости на сайте :)
← →
dRake © (2005-09-26 23:53) [8]Micke
Супер :)
Та сайт просто сейчас знакомые ребята переделывают вот они на том что есть обкатывают новостную систему :) Так что сайт пока в разрухе..
← →
dRake © (2005-09-27 00:24) [9]Залью ка пока старую статическую версию :)
На живом отлаживать это зло :))
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.013 c