Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Geschwindigkeit CATIA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Geschwindigkeit CATIA (1566 mal gelesen)
wulfgang
Mitglied



Sehen Sie sich das Profil von wulfgang an!   Senden Sie eine Private Message an wulfgang  Schreiben Sie einen Gästebucheintrag für wulfgang

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 20. Mrz. 2010 17:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich habe mal eine allgemeinere Frage.
Ich habe ein Makro, das sehr viele Punkte und Polygone erzeugt. Die Rechenzeit beträgt circa 15min. Halbiere ich nun die Anzahl der erzeugten Geometrieelemente dauert das ganze nur noch circa 1min. Welche Gründe gibt es für einen solch großen Zeitunterschied?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 20. Mrz. 2010 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wulfgang 10 Unities + Antwort hilfreich

Hallo Wulfgang,

ich würde sagen das es mit der Windows Architektur zusammenhängt. Innerhalb des Makro´s erzeugst du ja Objekte, die irgendwo im Arbeitsspeicher abgelegt werden. Diese können mit dem = Nothing Befehl zerstört werden. Das löschen des Objekts aus dem Arbeitsspeicher erfolgt aber nicht mit der Ausführung dieser Zeile. In der Zeile wird das Objekt nur markiert, so das es überhaupt aus dem dem Speicher gelöscht werden kann. Dafür ist der Garbage Collector zuständig. Ein Prozess der ständig durch den Arbeitsspeicher flitzt und alle markierte Objekte löscht.

Je mehr Objekte du jetzt in deinen Speicher reinschreibst desto mehr haben auch Garbage Collector und andere Sub Routinen zu tun. Die Arbeit die somit verrichtet werden muss kann somit einfach multipliziert werden, da die Vorgänge aber direkt zusammenhängen steigt die Zeit exponentiell an

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wulfgang
Mitglied



Sehen Sie sich das Profil von wulfgang an!   Senden Sie eine Private Message an wulfgang  Schreiben Sie einen Gästebucheintrag für wulfgang

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 20. Mrz. 2010 19:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Gibt es denn eine Möglichkeit diesen Garbage-Collector zu manipulieren?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 21. Mrz. 2010 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wulfgang 10 Unities + Antwort hilfreich

Hallo,

nein der steckt in der Windows Architektur fest. Er ist somit ein Systemprozess den du NICHT beeinflussen kannst 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 21. Mrz. 2010 12:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wulfgang 10 Unities + Antwort hilfreich

Servus
Viellicht könnte man auch dein Programm etwas besser strukturieren, damit es schneller durchläuft.
Was hast du vor? Wie gehst du vor? (Punkte und Linien erzeugen geht ja schon aus den anderen Themen hervor)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 21. Mrz. 2010 12:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wulfgang 10 Unities + Antwort hilfreich

Hallo,

ich gebe Bernd da auf jeden Fall recht. An der reinen Windowsarchitektur wirst du nichts machen können, d.h. du musst die Performance in deinem Programm erhöhen. Wenn du uns mal den Code posten könntest denn könnten wir dir auch bestimmt noch ein paar Tipps geben.

Ich habe dazu auch noch ein Beispiel:
Die Performance von Collections im Gegensatz zu einem Array ist bei bestimmten Operationen wesentlich besser. Wenn du bei einem Array ein "Redim Preserve" machst, wird eine komplette Kopie des Array in deinem Arbeitsspeicher erstellt. Bei jedem Redim Preserve kommt eine Kopie dazu. Eine Collection kann ohne diese Kopie einfach erweitert werden. D.h. der "Datenmüll" im Arbeitsspeicher ist wesentlich geringer beo Collections und das zieht eine Performance Steigerung mit sich.

Genauso verhält es sich mit Select Case und If...then..else Anweisungen. Letztere sind bei vielen Entscheidungsvarianten (wenn du die Abfragen mit "and" und "or" und "ElseIf"... verschachtelst) wesentlich schlechter in der Performance als Die Select Case Anweisung.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tomtom1972
Mitglied
dipl ing maschinenbau


Sehen Sie sich das Profil von tomtom1972 an!   Senden Sie eine Private Message an tomtom1972  Schreiben Sie einen Gästebucheintrag für tomtom1972

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 22. Mrz. 2010 08:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wulfgang 10 Unities + Antwort hilfreich


MOD_Main.txt

 
Hallo,

dem Beispiel kann ich nur zustimmen.
Falls esjemand ausprobieren möchte, ein kleines Script im Anhang, es handelt sich um ein VB6 Modul (aus .txt mach .bas´und du hast das VB6.modul; wenn nicht eben nur den Text-File mit gleichem Inhalt, zu Öffnen mit irgendeinem Editor).
Das Script läuft rekursiv durch eine geladene Product-Struktur und erfasst zum Testen alle Dokumente in der Struktur genau 1 mal (sowie Pfad etc.).
Erst mittels eines dyn. Arrays, dann mit Hilfe einer Collection.
Eine Msgbox gibt jeweils die benötigte Zeit aus.
Faktor 1/50 bei ca. 500 Modellen in der Struktur. Das hat mich wirklich überrascht.
Ich bin mit nicht wirjklich Sicher, ob es was mit der Speicherauslastung zu tun hat, da da ganze innnerhalb eines Scriptes passiert, und eben erst mittels dyn. Array.
Zudem wird bei dem Zuweisen eines Objektes fast gar kein Speicher "verbraucht"; das Problem ist lediglich die erfolgte Addresierung (Vorhaltung) von Speicherplatz.

Die Dikussion hatten wir schon mal hier: http://ww3.cad.de/foren/ubb/Forum137/HTML/002119.shtml#000007

Gruß

TomTom

------------------
tomtom1972

[Diese Nachricht wurde von tomtom1972 am 22. Mrz. 2010 editiert.]

[Diese Nachricht wurde von tomtom1972 am 22. Mrz. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wulfgang
Mitglied



Sehen Sie sich das Profil von wulfgang an!   Senden Sie eine Private Message an wulfgang  Schreiben Sie einen Gästebucheintrag für wulfgang

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 23. Mrz. 2010 22:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
danke erst mal für die Antworten.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz