PDA

View Full Version : مشکل سرعت برنامه



1485159
جمعه 18 دی 1388, 23:34 عصر
من باید توی برنامم حدود 20 تا 30 تا عکس رو که حجم تقریبا حجم زیادی هم دارن رو مدام و به صورت همزمان حرکت بدم!!
وقتی از تایمر استفاده میکنم سرعت برنامه خیلی میاد پایین!!:متفکر:
پس مجبور شدم از ترد استفاده کنم
که اون هم بدتر از تایمر شد!!!! برنامه کلا هنگ میکنه!!!

Type
tt = Class(TThread)
public
procedure doProgress;
protected
procedure Execute; override;

end;

procedure tt.Execute;
begin
Synchronize(doProgress);
end;

procedure tt.doProgress;
var
Thid : Dword;
begin
sleep(10);
form1.Refresh;
form1.image2.Left:=form1.image2.Left-3;
Synchronize(doProgress);
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var
T : tt;
begin
T := tt.Create(True);
T.FreeOnTerminate := True;
T.Resume;
end;
چی کار کنم؟
ممنون.

Felony
شنبه 19 دی 1388, 06:38 صبح
با این کدی که شما نوشتید بایدم اینجوری بشه ، تابع Sleep برنامه رو به مدت زمان درخواست شده فریز میکنه ، البته من کد رو کامل نخوندم ببینم تو ترد چی کار کردی فقط دنبال مشکل گشتم ، شاید جای دیگه هم مشکل داشته باشه ولی این به چشم من خورد .

1485159
شنبه 19 دی 1388, 09:00 صبح
البته من دیروز خیلی رو این مشکل کار کردم و فهمیدم که این مشکل برای فایل های png و gif وجود داره!!!

با این کدی که شما نوشتید بایدم اینجوری بشه ، تابع Sleep برنامه رو به مدت زمان درخواست شده فریز میکنه ، البته من کد رو کامل نخوندم ببینم تو ترد چی کار کردی فقط دنبال مشکل گشتم ، شاید جای دیگه هم مشکل داشته باشه ولی این به چشم من خورد .
برای این که عکس ها آرام حرکت کنن sleep هم باید باشه دیگه!!!
یه روشی پیدا کردم شاید مشکل حل بشه:
چطوری با استفاده از bitblt فایل های png رو کپی کنم؟
ممنون.