holger74
Goto Top

Userform und Cpu Auslastung

Hallo Allerseits, ich bin schon länger fleißiger Mitleser und habe nun mal ein Problem, ich hab
schon das halbe Internet durchforstet aber leider noch keine passende Lösung gefunden.

Ich möchte in Word ein Formular darstellen indem gewisse Eingaben gemacht werden und anschließend weiter verarbeitet werden.
Problem dabei ist die CPU Auslastung. Ohne das irgendeine Verarbeitung statt findet, geht die Cpu-Auslastung massiv nach oben.
Es wird nur das reine Userform angezeigt. Ich habe das Problem mal auf folgende Programmzeilen reduziert:

Sub Makro1()
Load UserForm1
UserForm1.Show
End Sub

Userform1 ist ein leeres Userform beinhaltet keinerlei Programmcode. (Ist hier nur als Beispiel)
Die CPU-Auslastung beträgt zwischen 20-25 % für den Winword.exe Prozess.
Dazu ist zu sagen das die Maschine 2 Dualprozessoren besitzt. Also der Kern auf dem die Prozedur läuft fährt nahezu Volllast.
das ganze läuft in einer Terminalserver-Umgebung. Bedeutet je mehr User so ein Userform aufrufen und es nicht zügig "abarbeiten"
desto langsamer wird die Verarbeitungsgeschwindigkeit.

Betriebssystem Windows 2003 Server
MS Office 2007
Die aktuellen Patche sind eingespielt.

Eine ähnliche Problembeschreibung habe ich bei Microsoft gefunden: http://support.microsoft.com/kb/933745/de
Das Problem 2 trifft es, es ist zwar von 50 % Cpu Auslastung die Rede, aber ich gehe davon aus das es mit der Anzahl der Prozessoren zu tun hat.

In dem Artikel ist keine zufriedenstellende Lösung vorhanden. Es gibt zwar die Möglichkeit mit

UserForm1.Show vbmodeless

Das funktioniert auch, jedoch genaus das möchte ich nicht. Die Userform soll gebunden sein.

Ich habe schon diverse Dinge ausprobiert, jedoch so langsam keine Ideen mehr. ich habe jedoch Userforms gesehen bei denen keine erhöhte
CPU-auslastung statt findet, leider bin ich aber nicht an den Code dieser Makros ran gekommen.

weiß jemand einen Rat?

Vielen Dank im voraus
Gruß
Holger

Content-ID: 117951

Url: https://administrator.de/forum/userform-und-cpu-auslastung-117951.html

Ausgedruckt am: 10.04.2025 um 06:04 Uhr

pieh-ejdsch
pieh-ejdsch 10.06.2009 um 19:21:05 Uhr
Goto Top
schon mal probiert den Prozess nur einem CPU-Kern zuzuordnen?
Holger74
Holger74 11.06.2009 um 12:00:13 Uhr
Goto Top
Hab eich gerade mal gemacht und nur einem Kern zugeordnet. Gibt keine Veränderung, weiterhin Cpu-Auslastung von 20-25 %.
pieh-ejdsch
pieh-ejdsch 11.06.2009 um 16:18:50 Uhr
Goto Top
hast Du schon mal BES Prozessor Limiter probiert?
Damit kannst Du sämtlichen Prozessen ein bestimmtes CPU Limit geben.
Wie Du das aber bewerkstelligst um das Limit aufzuheben wenn Verarbeitung stattfindet weis ich nicht.
http://mion.faireal.net/BES/
Wenn das bei Dir nicht geht probiere das ganze mit threamaster
Holger74
Holger74 12.06.2009 um 10:42:14 Uhr
Goto Top
Da diese Makros in einer Terminalserverumgebung laufen und mehrere Benutzer die userform aufrufen, müßte ich die CPU schon sehr stark limitieren. Und das würde dann für alle Winword Prozesse gelten....auch für die, die ohne dieses Userform laufen.

ich denke eher die Lösung des Problems muß innerhalb des Programmcodes gefunden werden.
wie gesagt mit der Option vbmodeless geht es, aber das will ich wenn es irgendwie geht vermeiden.

Gruß
Holger