Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

[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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
2-1143436391
pkm
2006-03-27 09:13
2006.04.09
Char и string.


11-1124445785
Fuego
2005-08-19 14:03
2006.04.09
DrawText


2-1143030719
Khim
2006-03-22 15:31
2006.04.09
Messagebox


15-1142636613
Германн
2006-03-18 02:03
2006.04.09
Давно тут не было сабжей на музыкальные темы.


1-1141731562
kyn66
2006-03-07 14:39
2006.04.09
Динамически создать подменю





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский