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-Key: 117951

Url: https://administrator.de/contentid/117951

Printed on: April 26, 2024 at 18:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jun 10, 2009 at 17:21:05 (UTC)
Goto Top
schon mal probiert den Prozess nur einem CPU-Kern zuzuordnen?
Member: Holger74
Holger74 Jun 11, 2009 at 10:00:13 (UTC)
Goto Top
Hab eich gerade mal gemacht und nur einem Kern zugeordnet. Gibt keine Veränderung, weiterhin Cpu-Auslastung von 20-25 %.
Member: pieh-ejdsch
pieh-ejdsch Jun 11, 2009 at 14:18:50 (UTC)
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
Member: Holger74
Holger74 Jun 12, 2009 at 08:42:14 (UTC)
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