tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
786
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Hagmak Hagmak ist offline Grünschnabel
    Registriert seit
    Jul 2004
    Beiträge
    4
    Hallo zusammen,

    ich erstelle über ein C# Programm ein Worddokument mit Tabellen, Bildern usw.
    Soweit funktioniert das Ganze einwandfrei, es dauert allerdings recht lange bis das Dokument erstellt ist (ca 30 Sekunden).

    Normalerweise lasse ich das Dokument im Hintergrund erstellen und setze die Word Applikation erst auf sichtbar, wenn das Dokument fertig ist.
    Jetzt ist mir allerdings aufgefallen, dass wenn ich die Anwendung sofort sichtbar mache, so dass ich am Bildschirm live verfolgen kann, wie das Dokument zusammen gebaut wird, die Erstellung des Dokuments lediglich 2 Sekunden benötigt, wenn ich mit der Maus in die Titelleiste von Word klicke und die Taste gedrückt halte.

    Während der Hintergrunderstellung des Dokuments kann ich im Taskmanager verfolgen, dass der Prozess "WINWORD.EXE" so gut wie keine CPU-Auslastung hat. Klicke ich allerdings in die Titelleiste, so steigt die CPU-Auslastung und das Dokument wird wesentlich schneller erstellt.

    Ich hab schon die Prozesspriorität von Word bzw. meinem Programm erhöht, allerdings hat das nichts bewirkt.

    Kann mir jemand dieses Phänomen erklären, bzw. eine Lösung nennen, wie ich das Ganze programmtechnisch im Hintergrund schneller ablaufen lassen kann.

    Gruß

    Hagmak


    Ich hab nun mittlerweile herausgefunden, dass ich das ganze beschleunigen kann, wenn ich in der boot.ini den Eintrag /ONECPU hinzufüge. Allerdings ist das ja keine dauerhafte Lösung.
    Geändert von Hagmak (06.05.10 um 11:54 Uhr)
     

  2. #2
    Mel_One Mel_One ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Ort
    Zürich (Zürich)
    Beiträge
    167
    Also, ich kann mir eigtl. nur vorstellen, dass da Prioritätsprobleme irgendweine Rolle spielen. Auch dieses "Gedrückt halten" (Was den Generierungsprozess anscheinend ja zum vordersten Programm macht) scheint irgendwie in die Richtung zu gehen. Aber ansonsten sinds schon seltsame Seiteneffekte.
     
    "Wenn Sie mich suchen, ich halte mich in der Nähe des Wahnsinns auf, genauer gesagt auf der schmalen Linie zwischen Wahnsinn und Panik, gleich um die Ecke von Todesangst, nicht weit weg von Irrwitz und Idiotie!"
    -- Bernd das Brot

  3. #3
    Avatar von NSR
    NSR NSR ist offline Mitglied Silber
    Registriert seit
    Nov 2008
    Beiträge
    94
    Hi,
    ich kenne dieses Phänomen nicht, habe aber vor kurtzem mit Multithreading begonnen und dabei einen super Artikel gefunden (link hier http://www.codeplanet.eu/tutorials/c...in-csharp.html), sind auch noch andere super Erklärungen drinnen. Aber ich schweife ab.
    Jedenfalls stand da drinnen, das Windwos, wie mein Vorredner schon sagte, die Prioritäten (besser gesagt die Zeit, die jeder einzelne Thread bekommt) selber vergibt. So erhält ein Thread, der an der Oberfläche und Selectiert ist mehr Zeit zum Arbeiten als einer, der in der Taskleite minimiert ist. Mehr dazu findest im Artikel unter "Thread Priorität" (3.2.1).
    Hoffe ich konnte dir helfen.
    Grüße Nico
     

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Dann wäre eine Lösung vielleicht sich den Main-Thread vom Word (welches im Hintergrund aktiv ist) zu holen und die Priorität zu verändern:
    Code vbnet:
    1
    2
    
    Dim proc As Process = ... ' vielleicht mit Process.GetProcessesByName-Methode nach Word-Prozess suchen
    proc.PriorityClass = ProcessPriorityClass.Normal
    oder
    Code vbnet:
    1
    
    proc.Threads.Item(0).PriorityLevel = ThreadPriorityLevel.Normal
     

Ähnliche Themen

  1. Seitenumbruch in Worddokument
    Von deusfalsus im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 21.09.07, 14:51
  2. Störrisches Worddokument
    Von Casanundina im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 18.09.07, 15:45
  3. mit vb ein worddokument öffnen...
    Von mitch_byu_kennen im Forum Visual Basic 6.0
    Antworten: 10
    Letzter Beitrag: 01.07.05, 09:31
  4. WordDokument auslesen
    Von hupe im Forum PHP
    Antworten: 2
    Letzter Beitrag: 25.04.04, 16:31
  5. PDF wird nach Erstellung nicht richtig aufgebaut
    Von matzedias im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 13.05.03, 16:24

Stichworte