Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: MastersForum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

03.12.2013, 14:45

fps - frames per second

Hi Jungs und Mädels,


ich versuche mich in letzter Zeit ein wenig am Guides schreiben zu League of Legends und da gerade der Wechseln zur 4. Saison, samt großer Patchänderungen ansteht, habe ich mir überlegt etwas allgemeines zu schreiben, nämlich zur technischen Seite.
Dabei ist mir aufgefallen, dass ich überhaupt nicht genau weiß, wie das mit den FPS in der Praxis läuft.

Ich mach einfach mal Beispiele, wie ich mir das aktuell vorstelle bzw. zusammenreime und ihr dürft dann sagen, was kompletter Bullshit ist:

Ein 60hz-Monitor zeigt 60 Bilder pro Sekunde; jede 1/60sec ein neues.


Ohne VSync:

Hätte ich konstant 60 FPS, benötigt das Berechnen eines Bildes 1/60 Sekunde und wird dann zum Bildschirm gesendet; mein Bild ist also immer schon 1/60s alt, bevor es überhaupt angezeigt wird.


Habe ich nur 30 FPS, wird mir jedes Bild 2 mal angezeigt. (Jemand mit 60fps bekommt also unter Umständen, etwas schon 1/60 Sekunde vor mir angezeigt.)

Habe ich nur 29 FPS oder weniger, wird mir ein Bild 3 mal angezeigt.

Habe ich 120 FPS, berechnet mein PC ggü 60 FPS noch ein 2. Bild, welches 1/120s aktueller ist, als das, was dem 60FPS-Typ angezeigt wird. Zusätzlich berechnete Bilder werden fallen gelassen und immer das neueste an den Monitor geschickt.


Mit VSync:

Mein PC berechnet nur 1 Bild und wartet danach ab, bis der Monitor fertig ist, um es anzuzeigen und berechnet danach wieder ein neues. Die angezeigten Bilder sind also immer 1/60s alt.

Schafft es mein PC nicht ein Bild schnell genug zu berechnen, wird 2(oder auch mehr) mal das selbe Bild angezeigt und erst nach dem Schicken zum Bildschirm, ein neues Bild in Auftrag gegeben.


Fazit:

Mit deaktiviertem VSync und konstant mindestens 120 fps, werden mir also nie Bilder angezeigt, die älter als 1/120s (8,33ms) sind.
Das würde bedeuten, dass selbst 240 fps noch einen Vorteil von bis zu ~4ms (ggü. 120 fps) bringen. Wenn wir grob von 200ms menschlicher Reaktionszeit ausgehen, sind das immerhin 2%.

Jemand dessen FPS öfter auf 29 oder tiefer sinkt, bekommt teilweise über 3 Frames (50ms) das selbe Bild angezeigt und hat damit teilweise den selben Effekt, wie bei einem Inputlag von mehreren 10ms.

120hz Monitore sehen dann auch gar nicht mehr so doof aus, da sie bei jedem 2. Bild einen Vorteil von bis zu 8,33ms bringen können.


Fragen:


Inwieweit schwanken FPS-Werte in der Praxis circa? Werden mir 100fps angezeigt, ist das ja ein Durchschnitt. Ich denke gerade dann, wenn etwas neues ins Bild kommt(auf was man reagieren sollte), kommt es hier oft zu längeren Berechnungen für einzelne Bilder.

Wie verhält es sich mit Befehlen vom Spieler? Stimmt es, dass Befehle jeweils am Ende einer Frameberechnung verschickt werden und man so dort ebenfalls durch niedrige FPS benachteiligt ist, da die Befehle anstatt alle 4ms, nur alle 33ms (240 vs 30 fps) verschickt werden? Würde für mich Sinn ergeben, da die Frames ja in einer Art Schleife berechnet werden, welche dann je Durchlauf auch einmal erhaltene Tastatureingaben verarbeitet (bzw. das Spiel ansich in einer Schleife läuft und an einer Stelle auf einen neuen Frame warten muss, bevor sie zu den Tastatureingaben kommt).



Finde das Thema allgemein sehr interessant und hoffe, dass sich hier jemand schon damit beschäftigt hat und evtl. genauer Bescheid weiß.
Im Netz findet man viel Gelaber von irgendwelchen Shooterkiddies und anderen Leuten die sagen, dass alles über 18fps flüssig aussieht. Aber ich konnte nichts handfestes finden. Aus persönlicher Sicht und Erfahrung bin ich überzeugt, dass bei den meisten Spielen hohe FPS einen Unterschied machen können. Bei LoL merke ich einen Unterschied zwischen 100 und 300 fps und Werte wie 70 oder niedriger fühlen sich schon sehr seltsam und wenig flüssig an. Meine "Theorie" oben, würde das ganz gut erklären.

2

03.12.2013, 15:04

Die 2% sind aber nur der Fall wenn wirklich immer etwas passiert das eine Reaktion rechtfertigt, da das aber nur selten der Fall ist sind die 2% Vorteil in Wirklichkeit vielleicht 0,2% oder gar 0,02% also vernachlässigbar.

3

03.12.2013, 15:51

@Landi:
verstehe dein Posting nicht so recht :-P

Ich nehme mal als Grundlage einen 70Hz Monitor.

Der Bildinhalt wird z.b.: bei 20fps --> 20x berechnet und aktualisiert.
Alles unter ca. 20fps nimmt der Spieler/Nutzer als Ruckeln war.
Bei diesem Beispiel wird jedoch immer noch der Bildschirm z.b. mit 70Hz/fps dargestellt es fehlen ihm aber 50Bilder --> diese werden ihm mit Standbilder aufgefüllt.

Ohne Vsync ist die Grafikkarte in der Lage z.b. 200fps zu berechnen --> dargestellt werden jedoch nur 70fps da der Monitor nicht mehr als 70Hz eingestellt wurde.
Es werden bereits also 130 berechnete Bilder verworfen und 70Bilder dargestellt.
Bei dieser Methode KANN es zu schlieren kommen, da die Berechnung zu schnell ist und die Darstellung zu langsam.

Mit Vsync wird das Ganze auf die Darstellungsfrequenz des Monitors begrenzt.
70hz --> 70fps, weitere Frames werden nicht berechnet.

In einigen Spielen werden die fps auf 60 begrenzt --> 10Bilder würden bei einem 70Hz Monitor als Standbilder erscheinen.

Die Angabe mit 100fps zeigt mehr oder weniger nur eine Leistungsfähigere Grafikkarte an.
Bei einfacher Darstellung ala Word oder alles was kein 3d Modell braucht, ist bei der jeweiligen Darstellungsfrequenz schluss.

Bei einem 3d Modell zum zocken braucht die Grafikkarte massive Überkapazitäten um auf Eingaben des Nutzers reagieren zu können um auch die60/70fps schaffen zu können.
Das schaut meistens so aus: 70fps --> änderung der Perspektive --> neuberechnung --> 50fps als ergebnis --> erneute änderung --> neuberechnung --> 60fps.

4

03.12.2013, 16:28

Ah Ratbo gibts auch noch, sehr gut^^

Also mir geht es eigentlich darum, wie lange es dauert, bis eine Information auf dem Bildschirm erscheint, unter verschiedenen Bedingungen (FPS-Werten).

Nehmen wir mal an, bei einem Spiel wirft jemand etwas auf mich und ich kann diesem Geschoss ausweichen(sofern ich schnell genug reagiere). Mein Monitor (60hz) hat gerade ein neues Bild(A) bekommen und mein PC hat danach angefangen, das nächste Bild(B) zu berechnen. Während dieser Berechnung, sagen wir nach 2ms, geht die Information ein, dass das Geschoss auf mich zufliegt. Auf Bild A ist also noch nichts von dem Geschoss zu sehen und für die Berechnung von Bild B kam die Information ebenfalls zu spät. Mein Monitor wäre bereit 16,6ms später (bzw. 14,6ms nach Eintreffen der Information, des Geschosses) das nächste Bild darzustellen.

Sehe ich das jetzt richtig, dass

1.) wenn mein PC z.B. nur 20 FPS schafft, die Berechnung für Bild B 50ms dauert und danach erst Bild C, in welchem dann die Information des Geschosses enthalten ist, berechnet wird(nochmal 50ms). In diesem Beispiel also mindestens 98ms (100-2) vergehen, bis das Bild mit der Information überhaupt zu meinem Bildschirm geschickt werden kann? (Solange kein neues Bild berechnet ist, wird mir weiterhin Bild A angezeigt)

2.) wenn mein PC 120 FPS schafft und damit alle 8,3ms ein Bild berechnet. Hier würde die Berechnung für Bild B nach 8,3ms abgeschlossen sein und danach ein neues Bild, in welchem die Geschossinformation bereits vorhanden ist. Hier würde Bild B verworfen und ich hätte die Information bereits nach 14,6 ms (16,6 -2) und somit viel mehr Zeit zum reagieren.

3.) bei aktiviertem VSync, der Vorteil von 2. nicht gegeben ist, da nach der Berechnung von Bild A auf den Bildschirm gewartet wird.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FodA_Landwirt« (03.12.2013, 16:35)


5

03.12.2013, 19:16

Nein, dein verständnis ist leider falsch.

ohne zusatz schreibt die grafikkarte ständig zeilenweise das alte bild über, der monitor zeigt zu seiner rate immer das bild an, wie es da gerade liegt. Es wird nicht gewartet oder ähnliches.

vsync arbeitet unterschiedlich, je nach buffer. man kann double buffer haben, wo im hintergrund ein bild zusammengerechnet wird und dann in einen 2. speicher kopiert wird.
Oder man hat 3 buffer, von denen 2 beschrieben werden, um probleme beim vsync mit framerates niedriger als die refreshrate zu beheben.
Oder man schreibt ein bild und schreibt dann ein 2. bild in einem anderen speicher und dann wieder das 3. in dem 1. speicher.

Dann gibt es noch adaptives vsync etc.



Wie auch immer, wer in League 20 fps hat, muss sich wohl einfach mal für 300 euro nen neuen pc kaufen, der 60 fps kann...

6

03.12.2013, 20:30

Also Monitor schafft 70fps oder eher allgemein als hz bekannt: 14,28ms --> schneller wird es nicht angezeigt.
Wenn ein Monitor 100hz schafft und das Spiel und Graka nicht limitiert wären es 10ms.
Aber wer vorgibt den unterschied zwischen 14,28 und 10ms wahrzunehmen muss schon was gezogen haben :P

Das Spiel würde auf 60fps limitieren: 16,7ms --> schneller wird es nicht berechnet.

Die Grafikkarte schafft es 160fps zu berechnen: wären 6,25ms --> der Monitor rückt aber nur max 14,18ms raus --> nicht mehr als 70hz

Das Spiel würde mit 20fps laufen: 50ms --> untere grenze der ruckelfreien Wahrnehmung.
Für Fernsehen z.b. gelten 25fps --> 40ms

Also kannst du Werte von 50ms bis 14,28ms (70hz), oder bis 14,18ms (60fps) annehmen.

Nur warum zum Geier willst stellst du berechnungen an um einem Geschoss auszuweichen?
Mach eher Berechnungen wie und auf welche Art du das virtuelle Ableben deines Opfers gestaltest.

7

03.12.2013, 20:31

ich verstehe, wenn man sich bei cs, cod oder speedruns, die frameperfektion erfordern, gedanken ueber fps macht, aber bei mobas? :D
die paar milisekunden sind glaub ein witz im vergleich zu entscheidungen, reaktionen, ausfuehrung, lag.

du musst bedenken, dass die fps anzeige in spielen interpoliert. die frames sind nicht gleich ueber das zeitintervall verteilt.
deswegen kann ein spiel (z.b. cod 4) auch bei 125 fps noch "ruckeln".
um das zu merken braucht man allerdings geuebte augen und haende.
und wenn ein spiel keine first-person-maussteuerung hat, faellt einem ein ruckeln eh erst spaet auf

man sieht sogar den unterschied, wenn man den monitor auf 60 oder 120hz stellt am cursor. ka ob das an schlieren, der bewegung oder tatsaechlich der geschwindigkeit liegt.
"ja ich hab auch nen großen penis, aber das beantwortet nicht meine frage" - Blawas

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SenF_Ch4nKyy« (03.12.2013, 20:48)


8

03.12.2013, 20:31

Dass die ganze Sache zeilenweise geschieht ist mir klar, wollte die Sätze nur nicht noch verwirrender gestalten. Es ändert ja auch nichts daran, dass die Grafikkarte bei niedrigen FPS viel länger braucht um alle Zeilen durchzugehen (ein Bild fertig zu berechnen), bevor es mit dem nächsten anfangen kann und daher der Monitor solange noch mit "älteren" Informationen gefüttert wird.

Oder wird vor jeder Zeile geprüft, ob sich das Bild geändert hat und dementsprechend die Zeile? Also im Prinzip überhaupt kein "sinnvolles Bild" entsteht?

Wobei das auch nicht sonderlich viel an meiner Theorie ändern würde..




Das "warten" habe ich bei Vsync erwähnt; ka wie du das nennen willst, wenn die fps auf die hz zahl begrenzt werden. Auf jedenfall führt beim Vsync nix dazu, dass man etwas früher zu sehen bekommt, eher das Gegenteil scheint mir der Fall zu sein. Der Triplebuffer scheint mir eigentlich auch nur ne schöne Umschreibung für "30 fps statt 60, weil PC zu lahm" zu sein.

9

03.12.2013, 20:52

Also Monitor schafft 70fps oder eher allgemein als hz bekannt: 14,28ms --> schneller wird es nicht angezeigt.
Wenn ein Monitor 100hz schafft und das Spiel und Graka nicht limitiert wären es 10ms.
Aber wer vorgibt den unterschied zwischen 14,28 und 10ms wahrzunehmen muss schon was gezogen haben
Den Unterschied merken, bzw sehen - nein. Aber wenn 2 Leute mit gleicher Reaktion gegeneinander Spielen, ist der mit dem 100hz Monitor im Vorteil.
Die Grafikkarte schafft es 160fps zu berechnen: wären 6,25ms --> der Monitor rückt aber nur max 14,18ms raus --> nicht mehr als 70hz
Bekomme ich hier nicht regelmäßige aktuellere Bilder, als jemand mit weniger fps angezeigt?
so kannst du Werte von 50ms bis 14,28ms (70hz), oder bis 14,18ms (60fps) annehmen.
Verstehe nicht, was du damit sagen willst..


Im Prinzip geht es mir vor allem um die Reaktionszeit in Verbindung mit FPS... bei einem Monitor der zb. 20ms inputlag hat, kann ich sagen, ich bin automatisch 20ms hinterher, ggü jemand dessen Bildschirm ~0ms inputlag hat.
Was ich jetzt rausfinden möchte ist, wieviel ms-Vorteil/Nachteil erhalte ich durch verschiedene FPS. Ich kann mir nämlich nicht vorstellen, dass es keinen Unterschied macht, ob die Berechnung eines Frames 4ms, 16ms oder 32ms benötigt.

10

03.12.2013, 21:09

Sorry verrechnet, bei 60fps wären es 16,7ms. :)

Was ich mit 50-14,28ms aussagen will, das du die Infos einfach nicht schneller angezeigt bekommst.
Die theoretischen 160fps/6,25ms sind eher als reserveleistungen der Grafikkarte zu betrachten.
Hat die Graka bei einem FP-Shooter sehr schnelle Szenenänderungen zu berechnen fällt der maximalwert von 160fps mal ruckzuck auf 30fps runter.

Mathematisch hört sich 14,28ms gegenüber 10ms nach an einem fantastischem Vorteil an, aber Wahrnehmung ung Umsetzbarkeit des Spielers sind limitiert. ;)

11

04.12.2013, 19:37

Zitat

benötigt das Berechnen eines Bildes 1/60 Sekunde und wird dann zum Bildschirm gesendet; mein Bild ist also immer schon 1/60s alt, bevor es überhaupt angezeigt wird


das war halt komplett falsch, weswegen ich mein post geschrieben habe.




Mir auch egal, ist ja dein name, der unter deinem artikel steht Musst du selber wissen, ob es dir reicht theorien zu entwickeln, oder mal 1-2 stunden nachzulesen, wie es in der praxis gemacht wird.

Attila

Erleuchteter

Beiträge: 7 568

Wohnort: Hamburg

Beruf: GER

  • Nachricht senden

12

04.12.2013, 19:50

27" - 120 Herz - 1 ms Reaktionszeit bzw. unter 10 ms Input lag, gutes Angebot?

http://hukd.mydealz.de/deals/benq-xl2720…r-amazon-285926

13

04.12.2013, 20:22

Zitat

benötigt das Berechnen eines Bildes 1/60 Sekunde und wird dann zum Bildschirm gesendet; mein Bild ist also immer schon 1/60s alt, bevor es überhaupt angezeigt wird


das war halt komplett falsch, weswegen ich mein post geschrieben habe.




Mir auch egal, ist ja dein name, der unter deinem artikel steht Musst du selber wissen, ob es dir reicht theorien zu entwickeln, oder mal 1-2 stunden nachzulesen, wie es in der praxis gemacht wird.
Hast vielleicht n guten Link dazu? So wie ich es jetzt verstanden habe, wird ein fertiges Bild in ne Queue gelegt (welche ohne Buffer oä. nur einen Platz hat). Ist die Queue voll, werden neu berechnete Bilder solange verworfen, bis ein Bild an den Bildschirm übertragen wurde und wieder ein Platz frei wird. Das Bild ansich ist dann natürlich keine 1/60sec alt, aber der Zeitpunkt der abgebildet wurde.

In dem Guide will ich auch überhaupt nicht so ins Detail gehen, mir geht es hier vor allem um Hintergrundrecherchen.
Auf jedenfall an alle schonmal vielen Dank, durch die Antworten hatte ich wieder ein paar neue Sachen, nach denen ich googlen konnte^^

Attila

Erleuchteter

Beiträge: 7 568

Wohnort: Hamburg

Beruf: GER

  • Nachricht senden

14

04.12.2013, 21:32

Was mich interessieren würde: Hat jemand hier mal 120 Hz in der Praxis ausprobiert?
Hatte leider noch nicht die Gelegenheit dazu, bin aber am überlegen das aus purer Neugier mal mit dem von mir verlinkten 27" auszuprobieren und den sonst zurück zu schicken wenns nicht rockt.

15

04.12.2013, 23:27

Hab seit 4-5 Jahren nen 120Hz Monitor.
Wenn man zwischen 60 und 120 wechselt, sieht man schon, dass 120 fluessiger wirkt und vor allem weniger Schlieren macht,
aber man gewoehnt sich so schnell an nen Monitor und dann machts glaub kein grossen Unterschied.
"ja ich hab auch nen großen penis, aber das beantwortet nicht meine frage" - Blawas

16

05.12.2013, 00:36

So wie ich das bisher recherchiert habe, unterstützen viele Spiele gar nicht mehr als 60 fps und daher hast du durch einen 120hz monitor auch keinen Vorteil. Wird es unterstützt und man schafft durchgehend über 120fps, dann müsste sich ein Vorteil ergeben... nach meiner Überlegung bis zu 8,3ms gegenüber einem 60hz Monitor. (der 60Hz Monitor zeigt 16,6ms noch ein altes Bild an, während beim 120hz Monitor in dieser Zeit 2 angezeigt werden)

Allerdings sind 27" etwas groß, um effektiv zu zocken, viele Progamer spielen schon bei 22" im Fenstermodus, damit z.B. die Minimap nicht so weit abseits vom Hauptsichtfeld ist.

Attila

Erleuchteter

Beiträge: 7 568

Wohnort: Hamburg

Beruf: GER

  • Nachricht senden

17

05.12.2013, 00:50

Naja ich denke für iwelche Programer Ambitionen sind wir wohl fast alle zu alt :P

Habe bereits 27", finds ganz angenehm, ist aber auch n recht tiefer schreibtisch - sitze ca. 80 cm weit weg.
Anfangs fand ich die größe auch überwältigend, inzwischen find ichs angenehm und die Monitore @ Work zu klein.
Ist allerdings 5 Jahre alt, hat noch ganz andere Inputlag und Reaktionszeiten. Deshalb bin ich am überlegen zu vergleichen.

18

05.12.2013, 12:35

Ja zum Arbeiten ist größer immer besser :-D

Ich hab n HD-Beamer der ersten Generation als 2. Monitor angeschlossen und der hat ein ziemliches Inputlag. Bei so Internetreaktionstest bin ich am Beamer durchschnittlich 25-30ms langsamer, als am Monitor. Das merkt man beim Spielen schon sehr deutlich, vor allem, wenn man vom Monitor zum Beamer zurück wechselt. Glaube aber kaum, dass ein Monitor, auch wenn er etwas älter ist, solche Inputlags aufweist.

Attila

Erleuchteter

Beiträge: 7 568

Wohnort: Hamburg

Beruf: GER

  • Nachricht senden

19

05.12.2013, 16:52

Lang genug gewartet, der Monitor ist nicht mehr im Angebot (wieder auf 400 Euro) - wieder 325 Euro gespart! :D
Hab ich n Post überlesen oder wurde das VSYNC Tearing Problem an sich hier noch gar nicht beschrieben?

Aktuell haben Spieler die Qual der Wahl: Entweder werden die vertikale Synchronisation deaktiviert und damit hohe FPS-Raten sowie eine verzögerungsfreie Steuerungseingabe erzielt, oder VSync aktiviert, was den Problemen entgegen wirkt, die Bildwiederholrate aber senkt. Beides ist aktuell jedoch nicht möglich und genau dort setzt G-Sync an.

Die neue Technik soll alle Vorteile kombinieren: Ein einwandfreies Bild ohne Verzerrungen, hohe Frameraten und keinen (oder einen deutlich geringeren) Input-Lag. Wir hatten in London die Chance, einen ersten eigenen Eindruck von dieser Technik zu gewinnen, die neben einer kompatiblen Grafikkarte auch einen entsprechend ausgestatteten Monitor voraussetzen wird.

In der Richtung könnte NVIDIAS G-SYNC interessant werden:
1) http://www.computerbase.de/news/2013-10/…nc-technologie/
2) http://www.pcgameshardware.de/Nvidia-Gef…-Daten-1093359/
3) http://www.heise.de/newsticker/meldung/N…nc-1982300.html

20

05.12.2013, 19:35

Jo, Gsync ist sehr interessant und würde auch keinen Monitor zur Zeit kaufen bis es unterstützt wird. Wie es jetzt ist sind eher Altlasten von CRTs.

21

05.12.2013, 21:39

Spiele, die nicht mit 120Hz kompatibel sind, sind meiner Erfahrung nach extrem selten. Fast egal wie alt, listen Spiele einfach die Standardmodi, die sie von Windows bekommen, auf.
"ja ich hab auch nen großen penis, aber das beantwortet nicht meine frage" - Blawas

Ähnliche Themen