Mehrkernprozessoren und Spiele



  • Blue-Tiger schrieb:

    Und wenn ein einzelner Kern im 4-Kern-Prozessor langsamer ist als ein einzelner im 2-Kern-System und der wiederum langsamer als die Singlecore-CPU, dann laueft das Spiel nunmal auf dem 4-core-System am langsamsten.

    Auf einem Laptop mit einem 1.7GHz Pentium läuft es flüssiger als auf einem 2*2.4GHz Pentium.

    Blue-Tiger schrieb:

    Du koenntest die Berechnungen auf mehrere Cores aufteilen, wenn du Mehrkernsysteme ausnutzen willst. Das ist aber im Allgemeinen nicht ganz trivial.

    Wenn man in einem Spiel zwei Threads oder mehr hat. Werden diese nicht automatisch auf die Keren aufgeteilt, wenn man mehrere Kerne zu verfügung hat?



  • rapso schrieb:

    naja, oder da geht etwas komplett schief. ein paar hundert particle duerften ein system nicht zum rueckeln bringen, jedenfalls nicht wegen der cpu.

    🙂 Vor allem weil ja noch mehr los ist. Die Explosionen stören nicht und auch nicht die Gegner, aber diese Partikel. Ich bin gerade dabei mich durch den Code zu arbeiten. Seltsam das es erst auf einem Vierkernprozessor aufällt.



  • Netzwerk-Latenz schrieb:

    Blue-Tiger schrieb:

    Und wenn ein einzelner Kern im 4-Kern-Prozessor langsamer ist als ein einzelner im 2-Kern-System und der wiederum langsamer als die Singlecore-CPU, dann laueft das Spiel nunmal auf dem 4-core-System am langsamsten.

    Auf einem Laptop mit einem 1.7GHz Pentium läuft es flüssiger als auf einem 2*2.4GHz Pentium.

    hast du am Anfang nicht von einem 3 GHz Singlecore gesprochen?

    Blue-Tiger schrieb:

    Du koenntest die Berechnungen auf mehrere Cores aufteilen, wenn du Mehrkernsysteme ausnutzen willst. Das ist aber im Allgemeinen nicht ganz trivial.

    Wenn man in einem Spiel zwei Threads oder mehr hat. Werden diese nicht automatisch auf die Keren aufgeteilt, wenn man mehrere Kerne zu verfügung hat?

    Doch, normalerweise schon. Aber so wie ich deine Erklaerung verstanden hab sind die eigentlichen Berechnungen alle im gleichen Thread, oder?



  • Was sagt denn die Auslastung während dem Erzeugen dieser Partikeleffekte? Interessant wäre auch, für deinen Prozess einfach nur einen Kern freizugeben ( ➡ SetProcessAffinityMask). Durchaus möglich, dass hier die Kommunikation und Synchronisation diversen Kerne einiges ausbremst. Intels Pseudo Quadcores sind diesbezüglich eher suboptimal, da das teilweise über den lahmen FSB erfolgt und nicht komplett über den Cache. Mit welchen Prozessoren hast du denn getestet?



  • Getestet mit

    Einkern
    1.7 GHz Grafik: OnBoard
    3.06 GHz Grafik: Radeon 9600

    Zweikern
    Pentium E6750 Grafik: Geforce ????

    Vierkern
    4*2.4 GHz Grafik: Geforce 8800

    Wie gesagt Probleme gibt es nur mit dem Vierkern. Ich habe jetzt den Prozess auch mal nur auf einen Prozessor beschrängt. Das Problem bleibt. 🙄

    Ich hasse solche Probleme 😡 😃

    Trotzdem danke ich euch fürs durchlesen. Sollte einem noch was einfallen raus damit. cu


  • Mod

    alles auf einen core zu binden bringt nicht viel, der cache wird trotzdem zerschossen und alle synchronisationsprobleme koennen auch auftreten. besser ist es das ganze mal als ein thread laufen zu lassen und zu schauen.

    zudem kannst du ja auch mal versuchen eine testumgebung nur mit dem particlesystem aufzusetzen und das verhalten zu reproduzieren und mit z.b. AMD Codeanalyst zu profilen.

    desweiteren kann das ganze auch komplett andere gruende haben als die cpu. wenn nicht das rendering, dann z.b. den sound. manche sind so heldenhaft und spiele pro explosion nen sound ab, das kann der tod sein. 😉

    ich hoffe du sagst uns bescheid wenn du den fehler findest, gerade multicore programme gut zu machen scheint vielen probleme zu bereiten.



  • rapso schrieb:

    desweiteren kann das ganze auch komplett andere gruende haben als die cpu. wenn nicht das rendering, dann z.b. den sound. manche sind so heldenhaft und spiele pro explosion nen sound ab, das kann der tod sein. 😉

    Was ist die Alternative? Nur dann ein Explosionssound abspielen wenn nicht bereits ein Explosionssound abgespielt wird?



  • z. B. eine bestimmte Anzahl an Soundkanälen für Explosionen zu sichern und wenn die alle gefüllt sind, wird der Explosionssound nicht abgespielt.



  • rapso schrieb:

    manche sind so heldenhaft und spiele pro explosion nen sound ab, das kann der tod sein. 😉

    ich hoffe du sagst uns bescheid wenn du den fehler findest, gerade multicore programme gut zu machen scheint vielen probleme zu bereiten.

    😃 Helden ??? War da nicht wer ???

    Das mit noch einem neuen Thread war mein nächster Gedanke. Wenn sich was ergeben sollte werde ich mich melden. cu



  • Was sagt eigentlich ein Profiler zu der ganzen Geschichte? Damit müsste man ja wenigstens feststellen können, ob er wirklich im Partikel-System so lange rechnet.


  • Mod

    Netzwerk-Latenz schrieb:

    Das mit noch einem neuen Thread war mein nächster Gedanke. Wenn sich was ergeben sollte werde ich mich melden. cu

    kein neuer thread
    du sollst mal alles in einem thread laufen lassen, quasi sequenziell.



  • Hallo,

    war doch nicht der Prozessor. Der hat genug Power. Das Problem lag an der Grafikkarte.

    Das Spiel (es ist ein 2D Spiel) verwendet für die Darstellung der Partikel Texturen, wegen transparenz und anderen Zeugs. Jetzt habe ich das umgestellt auf DirectDraw-Oberflächen. Und das Problem war weg.

    Was wieder die Frage aufwirft warum eine Geforce der 8er Reihe von ein paar hunder Vertices in die Knie gezwungen wird (schlampig programmiert? NÖÖÖ). Naja jetzt weiß ich woran es liegt. Also der Prozessor war es nicht 😉


  • Mod

    was hattest du denn vorher benutzt?



  • Eine OnBoard Karte unbekannter Hersteller, eine Radeon9600, eine nVidia(aber keine von den 8ern). Und ich glaube eine alte RivaTNT war noch mit dabei. So genau weiss ich das nicht mehr. Weil das Spiel damals ohne Probleme lief. Jetzt wollte ich es halt mal auf einem neueren System testen. Naja das Problem hat sich für mich erledigt. Kann sein das diese Grafikkarte die Mixtur aus Texturen und DD Oberflächen nicht vertragen. Weil das Spiel auch DD Oberflächen verwendet hat, zusammen mit den Texturen. Obwohl ich mich erinnern kann das MS von so einer Mixtur abgeraten hatte.


Anmelden zum Antworten