Вниз
Скачать: CL | DM;

Мерцание прорисовки Canvas-a   Найти похожие ветки 

 
Лопух   (2006-04-14 16:13) [0]

Подскажите как получить не мерцающую прорисовку линий в полноэкранной Direct3D(?) игрушке?

имею

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
repeat
 DC := GetDC (0);
 Scr := TCanvas.Create;
 Scr.Handle := DC;
 Scr.Pen.Color := clRed;
 Scr.Pen.Style := psSolid;
 for i:=0 to 50 do begin
   Scr.MoveTo(400, 290);Scr.LineTo(400, 295);
   Scr.MoveTo(400, 305);Scr.LineTo(400, 310);
   Scr.MoveTo(390, 300);Scr.LineTo(395, 300);
   Scr.MoveTo(405, 300);Scr.LineTo(410, 300);
   sleep(1);
 end;
 ReleaseDC(0,Scr.Handle);
until (false);
end;

Приоритет Normal


 
Лопух   (2006-04-14 16:15) [1]

Такую программу сам видел в работе. Но сейчас ни сорцов, ни её самой откопать невозможно.


 
antonn ©   (2006-04-14 16:18) [2]

для начала создавай конвас только один раз и пользуйся им.


 
Лопух   (2006-04-14 16:34) [3]

Поправил слегка.

procedure TForm1.FormCreate(Sender: TObject);
begin
 Scr := TCanvas.Create;
 Scr.Handle := GetDC (0);
 Scr.Pen.Color := clRed;
 Scr.Pen.Style := psSolid;
end;
procedure TForm1.Button1Click(Sender: TObject);
 var i:integer;
begin
repeat
 Scr.Handle := GetDC (0);
 for i:=0 to 2000 do begin
   Scr.MoveTo(400, 290);Scr.LineTo(400, 295);
   Scr.MoveTo(400, 305);Scr.LineTo(400, 310);
   Scr.MoveTo(390, 300);Scr.LineTo(395, 300);
   Scr.MoveTo(405, 300);Scr.LineTo(410, 300);
   sleep(1);
 end;
 ReleaseDC(0,Scr.Handle);
until (false);
end;

Разницы не заметил.

Простите за очепятки.


 
Лопух   (2006-04-20 16:20) [4]

UP4хи! Извини, модер.



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

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



Память: 0.45 MB
Время: 0.029 c
3-1159323045
Alex_AA
2006-09-27 06:10
2006.12.03
Проблема с отчетом в конструкторе Rave Report


1-1161455953
andry1981
2006-10-21 22:39
2006.12.03
массив форм


2-1163531474
Troan_81
2006-11-14 22:11
2006.12.03
Как узнать имя окна handle?


15-1163481359
Колдун
2006-11-14 08:15
2006.12.03
Добавление элементов в апплеты


15-1163188134
Udaff
2006-11-10 22:48
2006.12.03
заказ срочный




   Наверх