# FpS Begrenzer?



## IXS (16. Oktober 2010)

Ich hatte vor längerer Zeit schonmal danach gefragt. 
Es geht mir um ein Tool, das die maximalen Bilder pro Sekunde eingrenzt.
Oft ist es ja so, dass Spiele, je nach Auslastung, zwischen 10 und 200 FpS schwanken. 
So werden einerseits Resourcen verbraten, die andererseits dafür sorgen, dass für zeiknappe Berechnungen keine Zeit übrig ist.
Die Begrenzung der oberen Framerate bringt schließlich auch den positiven Aspekt des Energiesparens mit sich. 
Jedenfalls kann man so in manchen Fällen auch mit langsameren Systemen die mindest FpS anheben...

Ich habe mittlerweile was scheinbar brauchbares entdeckt, kann es aber nicht nutzen, weil der Treiber nicht signiert ist.   

http://www.tommti-systems.de/temp/SSAA_Tool.rar

Aber ich werde mich hüten, mir einen unsignierten Treiber zu installieren.

Gibt es etwas vergleichbares mit signierrtem Treiber?

Oder, wie wäre es denn, wenn die Redaktion der PC Games hier die "Patenschaft" übernehmen würde. Scheinbar kostet der Test und die Signierung des Treibers 500€ .... Das wären für einen Verlag dieser Größenordnung  doch eher "Peanuts"


----------



## DonBarcal (16. Oktober 2010)

Aber hätte das nicht auch Performanceverluste zur Folge? Ich meine, VSync macht doch grob gesagt das gleiche, nur mit dem Unterschied, dass die Framerate über die Bildwiederholfrequenz festgelegt wird.


----------



## IXS (16. Oktober 2010)

Wenn VSYNC so funktioniert, wie es vorgesehen ist, macht es unter Umstanden ein Spiel langsamer, weil es ein Bild erst dann darstellt, wenn es komplett berechnet ist.

Angenommen ein Bildaufbau dauer 1,1 VBLANK , wird bis zum 2. VBLANK gewartet, bis das Bild dargestellt wird, da hier das sogenannte "Tearing" unterdrückt werden soll. 
Also wird es langsamer. Je niedriger die Bildwiederholfrequenz, desto mehr macht sich das bemerkbar.

Ein Framelimiter soll ja erst da greifen, wo mehr Bilder berechnet werden, als durch die Bildwiederholfrequenz des Monitors dargestellt werden können.

Bei modernen Rechnern, mit automatischer Regelung für die Taktfrequenz kann es aber bedeuten, dass durch die geringere Belastung - wegen der reduzierten Berechnung von unnötigen Daten - , CPU und Grafikkarte dann kurzzzeitig höher fahren können, wodurch sich niedrige und hohe Frameraten annähern.


----------



## IXS (18. Oktober 2010)

Schieb...


----------



## Herbboy (18. Oktober 2010)

Also, ich weiß nicht, ob da nicht ein kleiner Denkfehler ist. Mal angenommen, die Hardware kann 200FPS berechnen. Wenn Du dann sozusagen abbrichst, sobald zB 60 frames berechnet wurden, dann fehlen ja 140 frames, die durchaus eine wichtige Aktion unterschlagen könne, die einfach dann wegfällt, und zudem zu einem kurzen Stillstand des Bildes führen würden. Bei 140 wegfallenden Frames von eigentlich 200 frames sind das ja immerhin 7/10 Sekunden, das Bild würde ja dann für 7/10 Sekunden stillstehen, bis die nächste Sekunde beginnt ... 

Wenn Du aber wiederum irgendeinen Algoritmus einbaust, der analysiert, was bei den 200 frames passiert und das ganze dann in nur 60 frames "zusammenfast", dann ist das wiederum das gleiche wie bei vsync, oder es muss etwas sein, das wiederum so aufwendig ist, dass es die Leistung bremsen könnte.


----------



## IXS (19. Oktober 2010)

Herbboy schrieb:


> Also, ich weiß nicht, ob da nicht ein kleiner Denkfehler ist. Mal angenommen, die Hardware kann 200FPS berechnen. Wenn Du dann sozusagen abbrichst, sobald zB 60 frames berechnet wurden, dann fehlen ja 140 frames, die durchaus eine wichtige Aktion unterschlagen könne, die einfach dann wegfällt, und zudem zu einem kurzen Stillstand des Bildes führen würden.


Der Denkfehler liegt auf deiner Seite 

Es geht ja nicht darum, 140 Bilder am Stück wegzuschneiden, sondern darum, die Bilder die zwischen den dargestellten Bildern liegen nicht zu berechnen. Dann ist mehr Zeit übrig, die relevanten Bilder  quantisierungsgerecht berechnen zu können. 

Weißt ja, beim Film sind 18 Bilder pro Sekunde bereits ausreichend, weil sie alle relevanten Momentaninformationen enthalten. Die Quantisierung liegt hier also bei 100%

Je schlechter die Quantisierung, desto mehr Bilder pro Sekunde sind notwendig.

Klar, bei 200 FpS aufwärts, ist die zeitliche Fehlerquote niedriger und den FpS Jäger freut das. Aber für den Spieler wären 60FpS bei 50% (und aufwärts)Quantisierung viel wertvoller.  
Wobei 30FpS mit 100% Quantisierung das Optimum wäre...> Energiesparend, flüssig bei 100% Trefferquote


----------



## Herbboy (19. Oktober 2010)

IXS schrieb:


> Herbboy schrieb:
> 
> 
> > Also, ich weiß nicht, ob da nicht ein kleiner Denkfehler ist. Mal angenommen, die Hardware kann 200FPS berechnen. Wenn Du dann sozusagen abbrichst, sobald zB 60 frames berechnet wurden, dann fehlen ja 140 frames, die durchaus eine wichtige Aktion unterschlagen könne, die einfach dann wegfällt, und zudem zu einem kurzen Stillstand des Bildes führen würden.
> ...


Das kann aber nicht klappen, denn dieses tool oder was auch immer müßte ja dann vorher "wissen", wieviele FPS es in der nächsen Sekunde ergeben kann, um dann absichtlich weniger zu berechnen. Und dazu müßte es dann wiederum die volle Berechnung einmal durchführen und "simulieren", was dann sogar mehr Aufwand bedeutet.




> Wobei 30FpS mit 100% Quantisierung das Optimum wäre...> Energiesparend


 also, dass Du da ernsthaft merklich Energie sparen kannst halte ich eher für eine Utopie    Es ist ja nicht so, dass die Hardware immer auf 100% läuft, wenn sie ein Spiel berechnet. Das eine Spiel laset die CPU zu 80% aus und bringt die Graka auf 90 Grad, das andere nur 50% und 70 Grad - das zeigt ja, dass die Komponenten nicht zwangsweise am maximum arbeiten. Vor allem schwankt es auch je nach Spielsituation.


----------



## Hyperhorn (20. Oktober 2010)

http://extreme.pcgameshardware...
http://www.planet3dnow.de/vbul... 
Leider stieß der dazugehörige PCGH-Artikel nicht auf allzu große Resonanz, was angesichts der beeindruckenden Testergebnisse doch etwas verwunderlich ist.


----------



## Vordack (20. Oktober 2010)

Bei manchen Spielen gibt es in der ini Datei Werte mit denen man die FPS begrenzen kann.

Bei StarCraft II z.B.


frameratecapglue=35
frameratecap=35 

in Variales einträgt.

Es wäre gut zu wissen für welche Spiele Du es akut benötigst dass man da mal recherchieren könnte.


----------



## Herbboy (20. Oktober 2010)

Wie arbeiten diese Tools denn? Und was bringen die, wenn es nur um den Fall "60 statt 80 FPS" geht?


----------



## IXS (20. Oktober 2010)

Hyperhorn schrieb:


> http://extreme.pcgameshardware...
> http://www.planet3dnow.de/vbul...
> Leider stieß der dazugehörige PCGH-Artikel nicht auf allzu große Resonanz, was angesichts der beeindruckenden Testergebnisse doch etwas verwunderlich ist.



Der Link zu PCGH geht nur ins "Hauptmenü". Um was geht es da genauer?

Gibt es den FPS-Limiter für DX 10/11?

Das auf von mir verwiesene Tool kann DX 10. Deswegen halte ich es schonmal für brauchbarer.


----------

