AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist
Thema durchsuchen
Ansicht
Themen-Optionen

Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

Ein Thema von 3rad · begonnen am 24. Nov 2020 · letzter Beitrag vom 25. Nov 2020
Antwort Antwort
3rad

Registriert seit: 15. Apr 2011
Ort: Regensburg
8 Beiträge
 
Delphi 10.4 Sydney
 
#1

Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 24. Nov 2020, 10:36
Hallo Zusammen,

wir haben ein Programm, welches zum Erstellen des Hauptformulars auf meinem Rechner(XEON-CPU mit 6 Kernen) 3 Sekunden braucht.
Die Laufzeit ist gemessen zwischen Start Application.CreateForm im DPR-File, bis man im Event FormCreate des Hauptfensters landet. Dazwischen läuft ja das Laden der Formularresourcen ab.

Ist auf dem Rechner Solid Edge gestartet, verfünffacht sich die Laufzeit, wobei in SE kein Modell geladen ist. Das SE ist nur gestartet.
Die Laufzeit wird hauptsächlich in System.Classes->function InitInheritedComponent beim Laden der Ressourcen verbraucht.
Das Programm hat aber keinerlei Interaktion mit SE.

Hat jemand eine Idee, welchen Einfluss SE auf die Delphi Application haben kann, dass die Laufzeit derart explodiert?
Auf schwächeren CPU's fällt die Laufzeiterhöhung noch extremer aus.
Anbei auch 2 Screenshots der CPU Auslastung.
Miniaturansicht angehängter Grafiken
cpuauslastung-ohne-solidedge.png   cpuauslastung-mit-solidedge.png  
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 24. Nov 2020, 11:12
Evtl. hat es ja damit (timeBeginPeriod) etwas zu tun: https://www.delphipraxis.net/205671-...er-effekt.html
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 24. Nov 2020, 11:23
Schuss ins Blaue: Reserviert Solid Works sich ggf. Rechnerkerne, so das weniger für andere Programme übrig bleibt?
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 24. Nov 2020, 14:37
Nur in der Delphi-IDE oder auch standalone?
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#5

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 24. Nov 2020, 17:09
Dank der tollen initialization und finalization-Blöcke kann das auch in Kombination mit irgendeinem Modul sein.
(Habe ich schon erwähnt, wie sehr ich das hasse, wenn da jemand mehr rein schreibt als "someObjekt := nil;"?)
Schonmal ein leeres Projekt erstellt und gestartet?

Beispiel: SolidEdge erstellt einen Hook für irgendeine Systemfunktion und verhundertfacht die Laufzeit dieser.
Dann wird durch irgendein Modul diese Systemfunktion ein paar mal aufgerufen ...
Und ehe man sich versieht protokolliert irgendein tolles Anti-Viren-Programm die noch tolleren Funktionen zum Laden von
Einstellungen aus einer Datei, was für jedes Fenster aufgerufen wird, wodurch alles explodiert.
Sorry, ich schweife ab.
Wie gesagt, einfach mal ein leeres Projekt erstellen und bei Erfolg nach und nach einfach alle verwendeten Module
auf das eine Test-Form werfen, bis man den Übeltäter findet. (Falls es das ist.)

MfG
Incocnito
  Mit Zitat antworten Zitat
3rad

Registriert seit: 15. Apr 2011
Ort: Regensburg
8 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 25. Nov 2020, 11:14
Hallo Zusammen,

vielen Dank für Eure Infos.
Der Effekt tritt in der IDE und Standalone auf. Dadurch konnte ich zumindest beim Debuggen herausfinden, dass es die Ladezeit der FormularRessource selbst betrifft.
Der timeBeginPeriod aufruf brachte leider keine Änderung. Gleiches verhalten.

Das Thema Hook auf eine Systemroutine könnte ich mir durchaus vorstellen. Ich werde es mal probieren, ob es sich an einer Komponentenklasse festmachen lässt.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Hohe Laufzeit bei Formularerstellung, wenn SolidEdge gestartet ist

  Alt 25. Nov 2020, 11:59
Vielleicht hilft procmon weiter.
  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 05:48 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