AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung
Thema durchsuchen
Ansicht
Themen-Optionen

D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

Ein Thema von stalkingwolf · begonnen am 26. Jan 2023 · letzter Beitrag vom 30. Jan 2023
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
521 Beiträge
 
#1

D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 10:03
ich habe ein etwas merkwürdiges Verhalten eines Programmes.
Wir haben diverse Programme von D6 auf 11 portiert was auch ganz gut funktioniert hat.
Nun habe ich ein Programm was sich merkwürdig verhält wenn es die UI aktualisieren soll.
Z.b Progressbar +1 oder TLabel.caption setzen, hängt das Programm mit einer CPU Auslastung von 25% ( ein Kern ).
Minimiere ich das Programm und maximiere das Programm, dann läuft es weiter.

Das Problem habe ich nur auf ein paar Kunden PCs (Windows 10). Leider auf einem bei uns in der Firma. Damit ist das debuggen extrem schwer.
Ich habe das Projekt schon komplett neu erstellt. Keine Änderung. Da es um relativ viele Units gibt welche untereinander verknüpft sind, ist es auch schwer Teile zu isolieren. Ich habe aber auch aktuell keine Idee wonach ich gezielt suchen soll.

auf Stackoverflow habe ich https://www.delphitools.info/downloa...ler-changelog/ gefunden.
Leider startet es unsere Programme nicht bzw. gibt eine Zugriffsverletzung.

Jemand hier eine Idee oder Ansatz wie ich das lokalisieren kann.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#2

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 10:27
Erstmal, bezüglich Debuggen von GUI-Sachen, am besten mit dem RemoteDebugger, von einem anderen PC aus.

Ansonsten auch mal mit einem Profiling Tool, ala AQTime, schauen wo die CPU-Zeit drauf geht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
627 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 10:28
Hallo,

Das klingt als wenn sich Handler für Window Botschaften gegenseitig fertig machen.
Visuell sind Delphi Komponenten im Einsatz?

Da sind ettliche Delphi Generationen dazwischen.
In alten Delphis brauchte man nochSetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW); um die Dialoge ordentlich dargestellt zu bekommen.
Oder selber implementierte Nachrichten Handler für modernere Standard Nachrichten, um diese verarbeiten zu können.

Das Problem wird sicher überall existieren und fällt aber mit bestimten Konfigurationen mehr auf.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
521 Beiträge
 
#4

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 10:54
Hallo,

Das klingt als wenn sich Handler für Window Botschaften gegenseitig fertig machen.
Visuell sind Delphi Komponenten im Einsatz?
ja und VirtualStringTree. Aber das nutzen wir auch in anderen Programmen und haben dort nicht diese Probleme.
Einzig AcroPDF ist vorhanden, aber das habe ich alles entfernt und das Problem tritt dennoch auf.

AQTime werde ich einmal testen ob mir das etwas sinnvolles ausgibt.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.370 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 11:10
Ich würde zunächst einmal schauen, ob der Window Detective in dem Moment, wenn es hängt, die Abarbeitung von massenhaft Messages anzeigt. Das kann schon Hinweise geben.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
521 Beiträge
 
#6

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 12:21
keins der beiden Programme zeigt mir in dem Moment was an. Kommen keine Einträge.

Nur ein Problem habe ich entfernt indem ich application.processmessages entfernt habe.
Das nutzen wir eigentlich aber noch relativ häufig.

Edit : Was mir bei dem Programm auch auffällt. Alle MessageDLG und showmessage landen hinter dem Programm.
Aber das Programm ist nicht stayontop.

Geändert von stalkingwolf (26. Jan 2023 um 12:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: D11 : Programm hängt zieht 25% CPU bei UI Aktualisierung

  Alt 26. Jan 2023, 13:14
ProcessExplorer als Admin starten - Rechtsklick auf den entsprechenden Prozess - Properties - Threads Tab und dort den Thread raussuchen, der die CPU verbrennt - selektieren und auf Stack klicken. Dort ruhig bisschen auf Refresh hämmern und beobachten, was da so auftaucht. Kann unter Umständen schon einen Hinweis geben.

Wenn remote debuggen auf den Rechner bei euch in der Firma möglich ist - über die IDE connecten und dann den entsprechenden Thread beobachten.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz