Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Утечка памяти   Найти похожие ветки 

 
Proger ©   (2004-10-27 19:22) [0]

Вот игру делаю, c API только начинаю работать.Каждую
секунду потребление оперативки игрой растёт на 64 - 128 Кб(зависит от кол-ва созданных движком Bitmap"ов).
 Если отключить блиттинг главного буфера в окно, тогда нормально
всё(???)
 Вот кусок кода обновления кадра:
begin
 ...
 PatBlt(GetDc(hWnd), 0, 0, W, H, BLACKNESS)
 ...
 BitBlt(GetDc(hWnd), ... , Buf.canvas.handle, ... , SRCCOPY);
 BitBlt(GetDc(hWnd), ... , ExBuf.canvas.handle, ..., SRCCOPY);
end;
 Формат пиксела Buf = pfDevice, ExBuf = pf24bit;
 Выручайте мастера!!Заранее всем спасибо.


 
clickmaker ©   (2004-10-27 20:34) [1]


> PatBlt(GetDc(hWnd), 0, 0, W, H, BLACKNESS)

а ReleaseDC кто делать будет?


 
tesseract   (2004-10-28 09:38) [2]

Да и зачем каждый раз GetDC? выделение памяти - задача тормозная.. очень тормозная...


 
Proger ©   (2004-10-28 17:14) [3]

2 clickmaker ©.По подробней если можно...
2 tesseract.А есть другой способ?


 
марсианин ©   (2004-10-28 18:13) [4]



HDC dc = GetDC(hWnd);
PatBlt(dc, 0, 0, W, H, BLACKNESS)
...
BitBlt(dc, ... , Buf.canvas.handle, ... , SRCCOPY);
BitBlt(dc, ... , ExBuf.canvas.handle, ..., SRCCOPY);
...

ReleaseDC(hWnd, dc);


 
марсианин ©   (2004-10-28 18:15) [5]

извини, в последнее время много на с++ приходится
первая строчка

var dc:HDC;
...
dc := GetDC(hWnd);



Страницы: 1 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.042 c
9-1092490542
CoolProger:DWORD;
2004-08-14 17:35
2004.12.12
курсор мышки в дирекст


14-1100753467
Megabyte-CeerCop
2004-11-18 07:51
2004.12.12
Зацените кто не видел. Написано на Delphi.


4-1098339093
Dema-X
2004-10-21 10:11
2004.12.12
CNTRL+A или как проэмулировать нажатие горячих клавиш?


4-1098793495
sapsi
2004-10-26 16:24
2004.12.12
Переключение Alt+Tab


14-1101103150
speed
2004-11-22 08:59
2004.12.12
Управление БД SQL-запросами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский