AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ursache für dauerhafte CPU-Auslastung finden
Thema durchsuchen
Ansicht
Themen-Optionen

Ursache für dauerhafte CPU-Auslastung finden

Ein Thema von CodeX · begonnen am 8. Feb 2021 · letzter Beitrag vom 10. Mär 2021
 
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 9. Feb 2021, 10:00
Vermutlich könnte mir das weiterhelfen. Habe jetzt ein bisschen was dazu nachgelesen und ein Video bei YT angeschaut. Im GetIt sind 262 Pakete vorhanden, aber AQTime ist nicht darunter. Bei den Embarcadero Downloads finde ich nur Versionen für Delphi bis XE8.
Wo kriege ich denn eine funktionierende Standard Version für 10.3 her?

Ein Thread hat auch einen Parent-Thread.
So wie ich das deute, handelt es sich ja um den Main-Thread, also um das Hauptprogramm an sich.

...hilft erstmal Tante Google weiter. Da gibt es ein paar interessante Infos, die bisher beste ist aus meiner Sicht:
unwanted-export-tmethodimplementationintercept
Ich habe natürlich als erstes danach gesucht, aber es schien mir eher eine generische Fehlerquelle zu sein, also dachte ich, die aus etwas Anderem resultiert. Da ich bei meiner Recherche auch Rtti als Stichwort gefunden habe, habe ich auch geschaut, ob ich hier etwas in der Richtung im Projekt anpassen kann. Da Rtti in dem Projekt gänzlich unerwünscht ist und das Programm nur unnötig aufbläht, wurde es soweit es ging aus dem Projekt entfernt. Da dies ja leider nicht mehr zentral geht, ist in jeder Unit ein Include von diesem Code enthalten:
Delphi-Quellcode:
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
Wenn man es irgendwie noch besser und komplett entfernen könnte, bitte sagen!
Ich habe den Teil dann testweise auskommentiert und neu kompelliert, um auszuschließen, dass genau dieses Entfernen etwas damit zu tun hat, aber das CPU-Ergebnis war das gleiche. Lediglich die Exe ist um 10% angewachsen.

Deine verlinkten Infos sind sehr interessant, aber ich weiß nicht, ob mich das weiterbringt:
Ich kann nicht auf eine Delphi-Version vor XE5 wechseln und es handelt sich bei mir nicht um eine DLL.
System.Rtti wird im Projekt nirgends eingebunden. Wahrscheinlich durch irgendeine andere System-Unit oder Komponente.
Die einzige dort empfohlene Option wäre, die System.Rtti zu bearbeiten und den TMethodImplementationIntercept Teil (oder nur die exports Zeile?) auszukommentieren. Das erscheint mir ein bisschen wie mit der Brechstange. Gibt es vielleicht noch irgendeinen anderen Ansatz? Wenn wirklich Rtti Schuld ist, dann Rtti irgendwie komplett aus dem Projekt verbannen?
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
 


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 22:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz