# FPS steigern durch Mediaplayer



## Hardbase (17. Juni 2008)

Mediaplayer öffnen und offen lassen und danach erst AoC starten.
Ihr werdet sehen, dass ihr im Spiel einen FPS-Zuwachs bekommt. klingt zwar blöd, funktioniert aber.
Bei manchen mehr, andere werden fast nichts bemerken.
Und warum soll das helfen? Der Mediaplayer benutzt aus der winmm.lib die Funktion timeBeginPeriod, womit Timereinstellungen modifziert werden. Das jetzt genauer zu erklären, würde den Rahmen hier sprengen. Auf alle Fälle hat man einen FPS-Zuwachs.
Nachdem man nicht den "Klotz" Windows Media Player nebenbei laufen lassen will, weil der selbst auch jede Menge speicher verbrät, gibts das auch als absolutes Miniprogrämmchen.

Hier der Code dazu (muss gegen winmm.lib gelinkt werden)


```
#include <stdio.h>
 #include <windows.h>
 
 int main(void)
 {
 timeBeginPeriod(1);
 printf("Press any key to restore normal timer frequency.\n");
 getchar();
 timeEndPeriod(1);
 return 0;
 }
```





Einfach das Tool ausführen und das Fenster offen lassen.
Ich selbst hab ein bat-File gebastelt, das mir das tool minimiert startet und dann gleich AoC.
Virus ist keiner drinnen, könnt es gerne checken und auch für einen Keylogger ist das Progrämmchen zu klein
Falls ihr mir trotzdem nicht traut, versucht es mit dem Mediaplayer

Feedback wäre toll, obs euch was gebracht hat.

Das ist nicht auf meinem Mist gewachsen, sondern wurde schon zu Halflife-Zeiten verwendet


----------



## Cracs (17. Juni 2008)

Jop klappt ca 4-6fps mehr.


----------



## demoscha (17. Juni 2008)

kein wirklicher fsp zuwachs bei mir festzustellen. aber hab vielen dank für den versuch.


----------



## spectrumizer (17. Juni 2008)

Schonmal daran gedacht, dass der FPS-"Zuwachs" nur illusionär ist, weil du die "Schärfe" des Timers änderst?

http://msdn.microsoft.com/en-us/library/ms713413(VS.85).aspx


			
				MSDN schrieb:
			
		

> The timeBeginPeriod function requests a minimum resolution for periodic timers.





			
				MSDN schrieb:
			
		

> Parameters
> 
> uPeriod
> 
> Minimum timer resolution, in milliseconds, for the application or device driver. A lower value specifies a higher (more accurate) resolution.


Klingt für mich nämlich so, als ob du dadurch keinen Leistungs-Zuwachs bekommst (woher auch?), sondern lediglich eine Timer-Auflösung (QueryPerformanceCounter oder GetTickCount) änderst und der Effekt zufällig der ist, dass AoC "langsamer" die FPS "misst".

Da kann ich auch das Tacho meines Autos gegen den Uhrzeigersinn drehen und schon fahr ich 5km/h schneller, je nach Drehweite.


----------



## LoLTroll (17. Juni 2008)

naja, mag es nun glaube sein oder wahr auf jeden Fall läuft es sich in Tarantia weit weniger ruckeliger als ohne sein solches Tool


----------



## Phobius (17. Juni 2008)

Also das mit dem WMP wird bei mir wohl nicht klappen da mir sonst einfach der RAM ausgeht.

Aber den FPSBooster werde ich heute Abend mal probieren.
Max 15FPS in Städten oder nicht-instanzierten Gebieten ist nicht so das Sahnehäubchen 


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.


----------



## VivAce (17. Juni 2008)

spectrumizer schrieb:


> Da kann ich auch das Tacho meines Autos gegen den Uhrzeigersinn drehen und schon fahr ich 5km/h schneller, je nach Drehweite.



Wenn man sich schon die Mühe gemacht und Details zu genannten Funktion rausgesucht, sollte man auch die wirklich wichtigen Sachen lesen: 

This function affects a global Windows setting. Windows uses the lowest value (that is, highest resolution) requested by any process. Setting a higher resolution can improve the accuracy of time-out intervals in wait functions. However, it can also reduce overall system performance, because the thread scheduler switches tasks more often...

Es geht hier also nicht um irgendwelche Genauigkeiten beim Messen von FPS (Sprich Tacho deines Autos) sondern um die Arbeitsteilung deiner CPU. Ob es was bringt oder nicht, sei mal dahingestellt, aber es greift schon relativ tief in performance relevante Bereich ein. Im Zweifelsfall kannst du ja den Parameter auf eine beliebige grosse Zahl festsetzen und du wirst sehen, ob dein ganzes System beschissen läuft oder nicht. 

Aber generell sind deine Vergleiche sehr weit hergeholt...


----------



## Zaubermulch (17. Juni 2008)

winke^^
also mir ist schon aufgefallen, dass sich mein WMP automatisch öffnet, ohne dass ich etwas geändert oder neu installiert habe....
komisch oder? AoC scheint ihn von selbst zu öffnen.........

Asmondina


----------



## Ironlion (17. Juni 2008)

Mit diesem Programm hab ich auch nen zuwachs von 5-10fps bekommen und ds spiel läuft auch besser,die media player funktion hat nichts gebracht.

Danke für diesen tipp.


----------



## Nofel (17. Juni 2008)

So wie ich das sehe wird es nur was bei Leuten bringen die eine Schlappe CPU haben. 6600 und 8300 CPU bringt es 0 zumindest bei mir.


----------



## Phobius (17. Juni 2008)

So, ich hab mal den FPSBooster ausprobiert.

Und siehe da, bei mir bringt er 2-3FPS.
Die Steigerung ist zwar nicht enorm, es ist aber eine vorhanden.


----------



## Ironlion (17. Juni 2008)

Nofel schrieb:


> So wie ich das sehe wird es nur was bei Leuten bringen die eine Schlappe CPU haben. 6600 und 8300 CPU bringt es 0 zumindest bei mir.




Ich hab nen AMD Phenom 9850,aber derweil noch radeon hd 2600 pro als graka,vielleicht deshalb der zuwachs.


----------



## Maoxtse (17. Juni 2008)

Nofel schrieb:


> So wie ich das sehe wird es nur was bei Leuten bringen die eine Schlappe CPU haben. 6600 und 8300 CPU bringt es 0 zumindest bei mir.



Denk ich auch, ich habe es schon vor ein paar Tagen ausprobiert mit dem WMP, keine merkbare Änderung bei mir (Q9300)
Ausserdem schwanken meine fps-Werte recht stark, deshalb könnte ich einen Zuwachs von 2-3fps wie bei _Phobius_ schwerlich feststellen.

Ca. 15 fps Zuwachs gabs bei mir allerdings, als ich die Sichtweiten auf max. gestellt habe!! (Das soll mal jemand verstehen) Ich bin selbst in Alt-Tarantia nie mehr unter 25fps unterwegs  


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.


----------



## spectrumizer (17. Juni 2008)

VivAce schrieb:


> Wenn man sich schon die Mühe gemacht und Details zu genannten Funktion rausgesucht, sollte man auch die wirklich wichtigen Sachen lesen:
> 
> This function affects a global Windows setting. Windows uses the lowest value (that is, highest resolution) requested by any process. Setting a higher resolution can *improve the accuracy of time-out intervals in wait functions*. However, it can also reduce overall system performance, because the thread scheduler switches tasks more often...


Ja und was hab ich anderes geschrieben, als dass du damit an irgendwelchen Auflösungen für Timer-Funktionen rumschraubst und der Zuwachs - wenn - dann nur Imaginär ist, was von deinem zitierten Abschnitt abweicht? Wenn man mit dem Finger auf andere zeigt und so wa ...



VivAce schrieb:


> Aber generell sind deine Vergleiche sehr weit hergeholt...


Äh kennen wir uns?


----------



## Flixl (17. Juni 2008)

bei mir schwankt die fps auch immer sau stark. doch sichweite vergrößern hat bei mir auch lätztens was gebracht...
im freien hab ich immer so 20-35fps, in privaten instanzen 8z.B. höhlen) 50-70 und einmal hatte ich sogar in ner höhle 160  (kann mir das jemand erklären warum??) 


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        

 
das tool werde ich jetzt mal testen...


----------



## VivAce (19. Juni 2008)

spectrumizer schrieb:


> Ja und was hab ich anderes geschrieben, als dass du damit an irgendwelchen Auflösungen für Timer-Funktionen rumschraubst und der Zuwachs - wenn - dann nur Imaginär ist, was von deinem zitierten Abschnitt abweicht? Wenn man mit dem Finger auf andere zeigt und so wa ...
> 
> 
> Äh kennen wir uns?



Nein, man schraubt eben nicht an irgendwelchen Timer Funktionen rum, sondern verändert das Scheduling der Prozesse/ Threads. Du hast in deinem Rechner nur eine CPU und knappe 100 Prozesse, die alle auf 1em(!!!) Prozessor rechnen wollen. Windows teilt jetzt jedem der Prozesse Zeitscheiben zu, in denen sie die CPU nutzen können. Das an Sich ist schon ne etwas komplizierte Sache. Wenn jetzt ein Prozess noch mehrere Threads hat und diese gegenseitig aufeinander warten (Thread A benötigt Ergebniss von Thread  wird es irgendwann eine Wissenschaft für sich. Bedenken muss man hierbei, dass man beim Wechseln der Prozesse CPU Zeit (sprich Performance benötigt). Wechselt man zu selten, kommen andere Threads nicht zum Zuge und das Spiel läuft Scheisse. Wechselt man zu Oft, wird hierbei soviel Performance verschwendet, dass das Spiel wiederum Scheisse läuft. Die hier erwähnte Einstellung ist nur ein Klitzekleiner Bestandteil dieses Problems und man kann definitiv nicht davon reden, dass es ein imaginärer Zuwachs wäre. 

Hast du das Programm denn schon übersetzt und unterschiedliche Parameter verwendet?

Nein wir kennen uns nicht und ich habe auch keine Ahnung, warum ich den ganzen Kram hier aufschreibe. Wahrscheinlich hat mir dein Vergleich mit dem Autotacho ein wenig gestunken. 

Na denne....

PS: Mal ne kleine These: Desto mehr Kerne der Prozessor hat, desto weniger dürfte diese Einstellung bringen....


----------



## Cracs (19. Juni 2008)

Nunja ich besitze einen Dualcore und es sind wie vorher schonmal erwähnt so 4-6 fps.


----------



## spectrumizer (19. Juni 2008)

VivAce schrieb:


> Nein, man schraubt eben nicht an irgendwelchen Timer Funktionen rum, sondern verändert das Scheduling der Prozesse/ Threads. Du hast in deinem Rechner nur eine CPU und knappe 100 Prozesse, die alle auf 1em(!!!) Prozessor rechnen wollen. Windows teilt jetzt jedem der Prozesse Zeitscheiben zu, in denen sie die CPU nutzen können. Das an Sich ist schon ne etwas komplizierte Sache. Wenn jetzt ein Prozess noch mehrere Threads hat und diese gegenseitig aufeinander warten (Thread A benötigt Ergebniss von Thread  wird es irgendwann eine Wissenschaft für sich. Bedenken muss man hierbei, dass man beim Wechseln der Prozesse CPU Zeit (sprich Performance benötigt). Wechselt man zu selten, kommen andere Threads nicht zum Zuge und das Spiel läuft Scheisse. Wechselt man zu Oft, wird hierbei soviel Performance verschwendet, dass das Spiel wiederum Scheisse läuft. Die hier erwähnte Einstellung ist nur ein Klitzekleiner Bestandteil dieses Problems und man kann definitiv nicht davon reden, dass es ein imaginärer Zuwachs wäre.


Sorry, aber bist du Erbsenzähler von Beruf? Was schreibst du denn da, ausser viel Pseudo-Fachgesimpel, was für einen Laien auch nichts anderes bedeutet ausser das was ich schon geschrieben hab: Du veränderst die Art, wie Windows Threads timed. Die Auswirkung auf AoC halte ich für Zufall. Denn wenn es keiner wäre, müßten ja theoretisch alle Spiele davon profitieren?


----------



## DreiHaare (20. Juni 2008)

@ TE...Wenn du schon in anderen Foren klaust, kannst du hier auch angeben, wo Du geklaut hast. Das wäre zumindest anständig.

forums-eu.ageofconan.com


----------



## Blah (21. Juni 2008)

spectrumizer schrieb:


> Sorry, aber bist du Erbsenzähler von Beruf? Was schreibst du denn da, ausser viel Pseudo-Fachgesimpel, was für einen Laien auch nichts anderes bedeutet ausser das was ich schon geschrieben hab: Du veränderst die Art, wie Windows Threads timed. Die Auswirkung auf AoC halte ich für Zufall. Denn wenn es keiner wäre, müßten ja theoretisch alle Spiele davon profitieren?



Aboah was bist du fürn stinkendes Monster, geh zurück in dein Loch! 


			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.


----------



## AoC.Virtus (23. Juni 2008)

Hardbase schrieb:


> Mediaplayer öffnen und offen lassen und danach erst AoC starten.
> Ihr werdet sehen, dass ihr im Spiel einen FPS-Zuwachs bekommt. klingt zwar blöd, funktioniert aber.
> Bei manchen mehr, andere werden fast nichts bemerken.
> Und warum soll das helfen? Der Mediaplayer benutzt aus der winmm.lib die Funktion timeBeginPeriod, womit Timereinstellungen modifziert werden. Das jetzt genauer zu erklären, würde den Rahmen hier sprengen. Auf alle Fälle hat man einen FPS-Zuwachs.
> ...



Erst erstellst du diesen Topic im offz Forum und nun hier.
*Ist eigentlich kein Problem, doch einen Virus in der exe ist nicht das WAHRE !*

Trojan-PSW.Win32.LdPinch.bcf   *<<<< das ist nicht dein ERNST !*

@ All
Bevor ihr auf eine Exe klickt, lasst es bitte !
Das Programm hatte schon in der ERSTEN VErsion einen Virus !


----------



## ZAM (23. Juni 2008)

Was ich neben der Virus-Erkennung noch viel lustiger finde, ist die Verwendung der Funktion   getchar(), die Zeicheneingaben der Tastatur ermittelt. :-)


----------

