Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.942 c
4-1099052493
pavel_guzhanov
2004-10-29 16:21
2004.12.12
Остановка сервиса


1-1101608873
noob
2004-11-28 05:27
2004.12.12
Event


8-1094823919
debuger
2004-09-10 17:45
2004.12.12
Контраст и Яркость.


4-1098720206
Comp
2004-10-25 20:03
2004.12.12
Назначение нового региона кнопке


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




   Наверх