Главная страница
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.47 MB
Время: 0.038 c
14-1101157384
OneFragLeft
2004-11-23 00:03
2004.12.12
Компьютер и Здоровье.


1-1101743328
Alek
2004-11-29 18:48
2004.12.12
С сишки на делфи ...


3-1100008965
Волу-Пизрак
2004-11-09 17:02
2004.12.12
Все проблемы растут из Access?....


4-1099076434
Redhopter
2004-10-29 23:00
2004.12.12
О перехвате сообщений


14-1100727843
Marser
2004-11-18 00:44
2004.12.12
Отбор на ЧМ-2006