Wieso kann Windows XP so schlecht mit Dual Core CPUs umgehen



  • Multicore schrieb:

    Das geht, weil so gut wie jeder 3d Benchmark oder auch jedes 3d Spiel darauf verzichtet auch noch Anwendungen neben sich zu tolerieren.

    Falsch. Wenn ein Spiel oder Benchmark, der nicht gerade den CPU unter Last testen soll, den CPU auf 100% auslastet, ist der CPU zu schwach.

    Es müssen andere Anwendungen nebenher laufen. Ob das das Spiel toleriert oder nicht ist egal, weil es dabei recht wenig zu sagen hat



  • Multicore schrieb:

    Probierst einfach aus, starte Furmark und die Auslastung der CPU ist auf 100 %.

    Hab ich gemacht, sind nur 25% (bei einem C2Q bedeutet das: 3 Kerne im Leerlauf, einer unter Vollast).

    Ansonsten sieht das Ergebnis bei mir so aus:

    56 FPS Avg. bei 3 Kernen unter Last
    58 FPS Avg. ohne CPU-Last
    

    Also mein XP scheint die Last ganz gut zu verteilen. 2 Frames Unterschied sind nicht die Welt und schon gar nicht 'deutlich' zu nennen.



  • zwutz schrieb:

    Multicore schrieb:

    Das geht, weil so gut wie jeder 3d Benchmark oder auch jedes 3d Spiel darauf verzichtet auch noch Anwendungen neben sich zu tolerieren.

    Falsch. Wenn ein Spiel oder Benchmark, der nicht gerade den CPU unter Last testen soll, den CPU auf 100% auslastet, ist der CPU zu schwach.

    Spiele werden aber so nicht programmiert.
    Das gilt für Anwendungen die mit anderen Anwendungen nebenher laufen müssen, da achtet man darauf, daß die Anwendung nicht wirklich jede Resource in Anspruch nimmt.

    Bei Spielen ist das aber nicht so und ist auch bis auf ganz wenige Ausnahmen nie so gewesen.
    Nimm einfach ein uraltes Spiel und laß es laufen und du wirst sehen, daß selbst Popelspiele die CPU bis zum Ende auslaten.

    Der Hauptgrund ist nämlich der, daß Spiele meist auf billige while Schleifen setzten, denn die sind einfacher zu programmieren als Interrupts.

    Meist sieht das dann z.B. so aus:
    do
    while (!keypressed())

    Es müssen andere Anwendungen nebenher laufen. Ob das das Spiel toleriert oder nicht ist egal, weil es dabei recht wenig zu sagen hat

    Probiers einfach aus.
    Schreib ein Kommandozeilenprogramm das mit einer while Schleife auf einen Tastendruck wartet und die Schleife ständig wiederholt.
    Die CPU wird dann unter Last laufen wenn du das Ding startest.

    Das ganze Problem ist dem geschuldet, daß man bei Computerspielen sowieso davon ausgeht, daß das Spiel die ganze Zeit im Vollbildmodus arbeitet und der User eh nichts anderes macht. Und natürlich weil man so schneller beim Programmieren ans Ziel kommt und sich auf die wichtigeren Spielinhalte konzentrieren kann.
    Der nächste Grund ist dann noch, daß für Spielenetwicklung oft sowieso kein Geld da ist, und die Progger unter Zeitdruck arbeiten weil das Spiel ja mal wieder in 2 Monaten fertig sein muß und man die Zeit sowieso viel zu gering angesetzt hat.

    So etwas passiert bei Anwendungssoftware nie, weil diese halt immer mit anderen Anwendungen coexistieren müssen und man da schnell merken würde, wenn eine Anwendung die CPU unter Last bringt.



  • Furmark == GPU schrieb schrieb:

    Multicore schrieb:

    Probierst einfach aus, starte Furmark und die Auslastung der CPU ist auf 100 %.

    Hab ich gemacht, sind nur 25% (bei einem C2Q bedeutet das: 3 Kerne im Leerlauf, einer unter Vollast).

    CPU ist auf 100% = 1 Kern

    Wenn die 3 Kerne also im leerlauf sind ist alles richtig.
    Der 4. Kern ist unter Last.

    Das Problem liegt an deinem Programm, da es die Last der Kerne nicht einzeln anzeigt sondern alle zusammenzählt. Daher auch die 25 %.

    Letzten Endes ist es aber dennoch richtig, da 1 / 4 Kerne = 25 %. D.h. ein Kern läuft bei 100 %, genau wie ich es sagte.

    Würde deine Behauptung stimmen, daß Furmarkt die CPU nicht belastet, dann müßtest du irgendwas so mit 3-11 % bei deinem Programm rausbekommen, du hast aber 25 %, also 100 % für den einen Core.



  • Und jetzt? Die Software muss natürlich mitspielen, sonst kann ein OS die nicht auf mehrere Kerne verteilen. Anscheinend ist sie halt nicht dahingehend unterstützend programmiert.



  • ererere schrieb:

    Und jetzt? Die Software muss natürlich mitspielen, sonst kann ein OS die nicht auf mehrere Kerne verteilen. Anscheinend ist sie halt nicht dahingehend unterstützend programmiert.

    Es ging um 2 Prozesse die das OS nicht richtig verteilt.

    Siehe 1. Posting



  • Tut es aber doch, XP verteilt sogar 4 Prozesse recht effektiv:

    56 FPS Avg. bei 3 Kernen unter Last
    58 FPS Avg. ohne CPU-Last

    Gleiches Bild hab ich auf dem 8-Kerner, auch hier hat XP noch keine Probleme.

    Vielleicht solltest du deinen Rechner mal auf Malware oder veraltete Treiber überprüfen.



  • gefurmarked schrieb:

    Tut es aber doch, XP verteilt sogar 4 Prozesse recht effektiv:

    Tut es nicht, siehe 1. Posting.



  • Ich habe Windows XP Professional x64 SP2. Das hat einen Windows Server Kernel (NT). Es ist mit dieser Bit-variante defenitiv schneller bei einem Dual Core!!!



  • Multicore schrieb:

    gefurmarked schrieb:

    Tut es aber doch, XP verteilt sogar 4 Prozesse recht effektiv:

    Tut es nicht, siehe 1. Posting.

    Wie du meinst. Ich hab zwar mit den gleichen Programmen die Last erzeugt und bei mir tritt das (Fehl-)Verhalten nicht auf, aber wenn es dich glücklich macht darauf zu beharren... Wer weiß, was bei dir nicht stimmt, es ist aber mit Sicherheit kein grundsätzliches Multicore-Lastverteilungs-Problem von XP.


Anmelden zum Antworten