Pie*_*ert 6 delphi components delphi-7 cpu-usage
在Delphi 7应用程序中,我想跟随鼠标移动组件.我正在做这样的事情:
procedure MyComponent.MouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer);
begin
AnotherComponent.Top := X;
AnotherComponent.Left := Y;
end;
Run Code Online (Sandbox Code Playgroud)
当我移动鼠标时,主核心的CPU使用率在最近的PC上达到100%.
在这种情况下,有什么想法或滴答来减少CPU使用率?
最后我改变了我的代码:
procedure MyComponent.MouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer);
begin
if GetTickCount-LastMoveTick>50 then begin
AnotherComponent.Top := Y;
AnotherComponent.Left := X;
LastMoveTick := GetTickCount;
end;
end;
Run Code Online (Sandbox Code Playgroud)
非常容易实现(添加了 2 行),没有计时器,对我来说效果很好......