RAM vs FPS

  • * Life

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo zusammen,

    nach ewigen Schwierigkeiten was die Performance in ArmA3 angeht, dem endlosen studieren von irgendwelchen Performance Guides und dem Rumspielen mit Startup-Parametern wollt ich kurz meine Erfahrung teilen.

    Kurz.... es ist alles Scheiss.

    Das performance kritischste ist auch nicht die ultimativ hochgetaktete CPU oder der RAM sonder es sind die max. kürzesten Latenzen des RAMs.

    Wir haben das mit zwei Systemen mal durch getestet. Sys 1 ist ein auf 5GHz übertakteter i7 (7700k) + 1070er GForce und Sys 2 ist ein 1700er Ryzen @ 3.8GHz (mein Sys) mit Radeon 470 4G.

    Zuerst das i7 Sys: Wenn der CPU Takt bei 5GHz festgenagelt wird und man den RAM Takt zusammen mit den Timings verändert, sieht man, wie die FPS im YAAB Benchmark (Steam Workshop) rapide ansteingen. Am stärksten gegen Ende weil dies ein dramatischer Takt Sprung von 3600MHz auf 4200MHz bei fast gleichen Timings ist, sprich die Latenzen massiv sinken. Umgekehrt bringt eine Erhöhung des CPU Taktes zwar auch einiges, selbst mit 5GHz bleibt der i7 aber vollkommen RAM limitiert und erreicht im YAAB nichtmal 50 FPS.



    Bei meinem System, einem Ryzen 7 1700 @ 3.8GHz mit einer 470 4gb ist es ein sehr ähnliches Spiel, außer das der Ryzen noch deutlicher profitiert.

    EDIT: Der Übersichtlichkeit und Aktualität halber update ich diese Grafik mit den Werten eines Kollegen und seines Ryzen 2700x. Diese sind allerdings @Standard Video Preset und daher nicht direkt mit den Werten des i7 oben vergleichbar, welche @Low Preset und ohne S-Key gemacht wurden (und daher erheblich höher sind).





    Denke der Trend ist sehr eindeutig und bedarf eigentlich keiner weiteren Beschreibung, aber zum einhämmern: Das ist alles bei identischem CPU Takt!

    EDIT2: Der folgende Abschnitt bezog sich auf die alte Abbildung. Die neue ist selbsterklärender. Ich lass die alte Beschreibung trotzdem drinn weil sie anschaulich beschreibt und bezug zu den i7 werten hat.

    (Es ist etwas durcheinander aber kurz zur Erklärung: im Low Preset habe ich mit einem CPU Takt von 3.8GHz und einem RAM Takt von 3200MHz mit manuel optimiertem XMP Profil 61 FPS im YAAB (also erheblich mehr als was der i7 7700k @ 5GHz mit 2400MHz RAM abgeworfen hat). Im Standard Setting habe ich @ 2400MHz CL16 38.6 FPS, mit aktiviertem XMP 3200MHz CL14 sind es 46.2 (20% mehr) und was hier nicht gelistet ist, mit manuel verbesserten Timings sind es ~51 FPS (weiter 10% bei gleichem RAM Takt).)

    Sprich, wenn ihr bei einer einigermaßen leistungsfähigen CPU, egal ob Ryzen oder i7 zu wenig FPS habt, es ist der fucking RAM und hier speziell die Latenzen.

    Hoffe das hilft jemandem weiter...

    Gruss!

    Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von Mahatma Ghandi ()

  • Das sind echte Daten... Jeder der sich ein klein wenig mit RAM settings und dem BIOS Auskennt kann das nachstellen. Den YAAB gibts ja im Steam Workshop. (Bitte das Low Preset in den Video Settings vor dem Bench auswählen, sonst gibts keine Vergleichbarkeit.)

    Durchsatz bringt übrigens fast garnichts (sowohl auf dem Threadripper System eines Kollegen als auch auf einem X99 Brett eines Freundes gemessen).

    Das mit der gnadenlosen Core Taktung stimmt schon, nur halt auschlieslich dann, wenn der RAM schnell genug ist (sieht man ja schön oben).
  • Bewährt hat sich bei mir Prime95 (Blend Test). Noch besser ist aber der Aida64 (extreme) Stabilitätstest wenn man davon eine Lizenz besitzt (geht vieleicht auch in der Demo)

    Bei Aida64 hat man ein paar mehr Auswahlmöglichkeiten und Überwachungsfunktionen (Screenshot aus dem Netz).




    Bei Ryzen basierten Systemen kann ich sehr konkrete Tips geben... hab da mittlererweile viel Erfahrung. Einfach melden, ich helfe gern.
  • Arma hat zwei probleme. Fehlendes Multithreading (Hohe Single-core performance), Starkes setzen auf virtual functions.

    Beim verwenden von "virtual functions" wird nicht wie normal einfach eine Funktion aufgerufen wenn man das will.
    Sondern am anfang einer Klasse gibt es eine Tabelle von Funktionsadressen. Anstatt also die Funktion direkt auf zu rufen geht man nun in diese Tabelle, sucht sich die Funktionsadresse aus der Tabelle raus und ruft diese dann auf.
    Nun ist diese Tabelle oft (Stichwort CPU branch prediction) nicht im CPU cache und muss erstmal aus dem RAM geholt werden.
    Außerdem verhindert das "function inlining". Dabei werden Funktionen anstatt sie auf zu rufen direkt in die aufrufende funktion kopiert.
    Vergleichbar wäre das mit SQF wenn man anstatt call einfach die Funktion #include'd.
    Durch dieses viele hin und her springen landet man so auch oft an Stellen die nicht im CPU cache sind und es muss wieder auf den Ram gewartet werden.

    Vorallem bei SQF Scripts fällt das besonders auf. Denn die ganze SQF Engine benutzt virtual functions.

    Jetzt wisst ihr nicht nur das, sondern auch warum RAM Geschwindigkeit wichtig ist.
  • LiquidBlaze schrieb:

    da war ja der DDR4-2400 CL15 eine Fehlinvestition für den 7700k :(

    Das lässt sich leider jetzt schon sicher bejahen... Du kannst dem aber sicherlich auch einfach mehr Spannung geben und ihn auf 2667-2800MHz hoch ziehen. Das geht bei den meisten. Da wirst du schon direkt sehen was sich tut.

    Was kommt denn bei Euch im YAAB auf Low Preset raus? Das wir mal ein paar weitere Anhaltspunkte haben.

    Ich liefer später auch mal noch einen Durchlauf @ Standard Preset nach und auch ein paar besser aufbereitete Details zum Ryzen RAM scaling wenn ich etwas mehr Zeit hab.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mahatma Ghandi ()

  • imgur.com/a/bGZnz

    Die Bilder sind etwas gelogen, die tatsächlichen Hardwaredaten sind: i7 7700k @4.8ghz, 3200er DRAM4 bei 19cl (ausser Tryit mit 16cl). Ka, obs hilft. Hab mal die Ramdaten hochgeladen als Bilder im Anhang.

    XMP macht bei mir net viel aus. Aber ich habe nicht das Gefühl, dass irgendwas hier grossartig stichhaltige Hinweise gibt. Hab aus Spaß diverse Optionen im Launcher ausprobiert, und die Varianz liegt zwischen 70-73fps. Das ist inklusive Ram-clock von 19 auf 16 runtersetzen (MSI Tryit).

    Macht der Speicher nen Unterschied? Bestimmt. Aber wie schon dein Bild zeigt, ist der grösste Unterschied immer noch die CPU und brutale single core Performance. Warte aber gerne auf mehr Infos bezüglich des Speichers. Evtl. lohnt es sich mal bessere Streifen zu holen.

    Ka, vielleicht teste ich auch falsch. Aber YAAB halte ich so erstmal nur für nen groben Test, da hier die Zufallsmomente massive Unterschiede machen. Mal krepieren alle direkt am Anfang, mal haste 5 statt 1 Typen im Bild rumlaufen. Alles nicht exakt genug um da über 1-3 fps Unterschiede zu sprechen.
    Bilder
    • pAgsmaQ.png

      21,69 kB, 300×211, 40 mal angesehen
    • rSp1rEw.png

      21,61 kB, 300×211, 41 mal angesehen
  • Also hier nochmal ganz frisch auf meinem Ryzen 1700. Alle Läufe bei identischem CPU Takt von 3.8GHz.

    RAM @ 2400MHz jeweils ein durchlauf @ Low und @ Standard mit Standard Settings



    Dann mit XMP Profil @ 3200MHz jeweils Low und Standard



    Und dann nochmal mit manuel getunten Subtimings ebenfalls @ 3200MHz




    Das sind also zwischen 2400MHz CL16 und 3200MHz CL14 mehr als 20% mehr Bilder/s^-1 im Durchschnitt. Unabhängig ob Low oder Standard Preset.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mahatma Ghandi ()

  • Also das ne reine RAM Optimierung einen Leistungsschub verspricht kann ich zwar nicht ausschließen.
    Allerdings kann man mit "schlechteren" RAM durchaus mit Leistung kompensieren :)
    Ich hab den Benchmark auf Standard Settings laufen lassen, da alles low nur künstlich geschönte Zahlen liefert.
    Bei Interesse schiebe ich auch noch einen mit alles auf max nach.

  • vPzBtl33_Bix schrieb:

    Spannend wie ich diese Frameraten hier im Leben nicht erreiche, obwohl ich nen i7-8700K habe. Also entweder spielt die Grafikkarte eine weitaus größere Rolle als allgemein behauptet oder mein RAM ist nicht "schlechter" sondern jenseits von gut und böse.
    Ich will dir die Laune net verderben, aber wenn du bei 3.7ghz fährst, ist das der Hauptgrund dafür, dass du die FPS von anderen net erreichts. Deswegen habe ich weiter oben gepostet (vor Wochen mal), dass über RAM zu reden schön und gut ist, aber am Ende entscheidet einzig die Taktung der CPU. Und dabei ist es auch egal, wieviele Kerne man hat.

    Von daher, nope. Es ist nicht deine Graka. Es ist auch hier deine CPU.
  • Slant schrieb:

    Ich will dir die Laune net verderben, aber wenn du bei 3.7ghz fährst, ist das der Hauptgrund dafür, dass du die FPS von anderen net erreichts.
    Ach, keine Sorge. Um mir die Laune zu verderben ist schon weitaus mehr nötig als ein humpelndes Arma. Ist ja nicht so, dass ich keinen Kummer gewöhnt wäre. Und mit den durchschnittlichen FPS irgendwo zwischen 30 und 50 bei mir bin ich auch ganz zufrieden. Ich wollte einfach nur mal nachfragen wie man mit einer 100 MHz langsameren CPU deutlich so viel mehr Frames aus der Kiste quetscht.
    Hätte ich etwas genauer hingesehen, wär's mir wohl auch aufgefallen.
  • Anubiswaechter schrieb:

    Was würdet ihr aktuell euren Eltern (hinsichtlich RAM) raten, die von Soft- und Hardware nur wenig Ahnung haben, künftig Arma 3 jedoch in 4K erleben wollen? Worauf sollen sie achten?
    Das kommt ja auch auf den Rest der Hardware und das Budget an. Bei 4K duerfte die GraKa natuerlich immer gewisser Flaschenhals sein aber ich wuerde aus oben ausfuehrlich dargelegten Gruenden zumindest nicht wahllos RAM kaufen. Der guenstigste DDR4 RAM (je GB) ist derzeit DDR4 2400MHz CL16 (145 EUR). Fuer 2 Euro Mehr gibts CL15 was damit bei einem Budget Sys klar die bessere Wahl waere. Beliebt ist auch der Crucial Ballistix Sport LT 2666MHz CL16-18-18. Durch die laengeren Latenzen sind die Vorteile allerdings marginal und die 15 Euro Aufpreis kaum wert. Demnach wuerde ich bei einem Budget Sys den F4-2400C15D-16GFXR nehmen. Wenn Das Budget gross genug ist wuerde ich bei einem Intel Sys F4-3000C14D-16GVR nehmen und bei einem AMD Sys (Ryzen) tinyurl.com/y89q2h72. (sind Samsung B basiert)

    vPzBtl33_Bix schrieb:

    Spannend wie ich diese Frameraten hier im Leben nicht erreiche, obwohl ich nen i7-8700K habe. Also entweder spielt die Grafikkarte eine weitaus größere Rolle als allgemein behauptet oder mein RAM ist nicht "schlechter" sondern jenseits von gut und böse.
    Was hast du denn @Standard Preset? Du solltest @ Stock schon etwa im Bereich von 52 FPS sein. Ein Ryzen @ 3.8GHz mit einer Radeon RX 470 liegt ebenda.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mahatma Ghandi ()