Einzelnen Beitrag anzeigen

freimatz

Registriert seit: 20. Mai 2010
1.474 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 30. Jan 2025, 20:12
@mlc42: 0

@jaenicke: Habe ein neues Projekt erzeugt, VCL Anwendung:

Delphi-Quellcode:
unit Unit3;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm3 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
  for var i := 1 to 10000
  do begin
    Label1.Caption := IntTostr(i);
    Application.ProcessMessages;
  end;
end;

end.
Ohne Debugger ist der Vorgang in knapp einer Sekunde durch, die Zahl ist kaum zu sehen, erst dann am Schluss. Mit Debugger:
CPU-Auslastung laut Prozessexplorer (16Kerne)
Project1.exe: knapp ein 1%
bds.exe: ca. 5.58
procexp64: ca. 5%
dwm.exe: 0,5%
Rest darunter

Weitere Beobachtung: die Zahl sieht man gemütlich nach oben zählen (gefühlt 10 Schritte/s). Wenn ich mir der Maus über das Fenster fahre, dann zählt es nur nur sehr sporadisch. Auch da gibt es keine Events, auch nichts im ProcMon.
  Mit Zitat antworten Zitat