Peekmessageschleife 100% CPU Lastung => geringes Ruckeln
-
Er misst, wieviel Laufzeit in welchen Funktionen des Programms verbracht wird. Damit kann man Flaschenhälse finden. Wenn du keinen hast, schau dich bei google oder sourceforge um. Oft kommen sie in Verbindung mit einem debugger. zB Valgrind, der soll sehr gut sein, leider Linux only.
-
Hat MSVS sowas nicht?
-
GlowCode ist ein ziemlich guter Profiler. Ausserdem sagt dir das Programm, ob und wo memory leaks entstehen und noch einiges mehr...
-
Definiere mal "Ruckeln" genauer. Hat es überhaupt was mit der Framerate zu tun?
Bye, TGGC \-/
-
mhh etwas komisch zu beschreiben..es ist nicht das typische Ruckeln, welches man kennt....es ist häufig so, dass wenn ich die Maus ganz schnell bewege und während dessen noch immer wieder in irgendwelche Richtungen drücken, ich mich für eine Zeit in die Richtung bewege, das Programm aber irgendwie gelähmt ist und nicht mehr die Mausaktionen beachtet...manchmal sieht es aber auch nach dem typischen Ruckeln aus, aber wahrscheinlich nur weil es in kürzeren Abständen ist...
Gruß,
Kevin
-
Hi,
bei meinem Spiel gibt es auch eine cpu Auslastung von 100%, aber es ruckelt nicht. Die Auslastung ist normal, würd ich sagen.
mfg juli
-
jube schrieb:
bei meinem Spiel gibt es auch eine cpu Auslastung von 100%, aber es ruckelt nicht. Die Auslastung ist normal, würd ich sagen.
Kann man so pauschal nicht sagen. rapso hat seiner Engine ja auch beigebracht, nur geringe CPU Auslastung zu erzeugen.
-> Benutzt Du denn auch DirectInput oder etwa MouseMessages?!?
-
Sgt. Nukem schrieb:
jube schrieb:
bei meinem Spiel gibt es auch eine cpu Auslastung von 100%, aber es ruckelt nicht. Die Auslastung ist normal, würd ich sagen.
Kann man so pauschal nicht sagen. rapso hat seiner Engine ja auch beigebracht, nur geringe CPU Auslastung zu erzeugen.
eher dem editor und nur weil ich das timer event nutze, die meißte zeit wartet man ja eh auf die graka. Im framework ist natürlich 100% auslastung auch wenn's nicht viel bringt.
rapso->greetS();
-
Surkevin schrieb:
mhh etwas komisch zu beschreiben..es ist nicht das typische Ruckeln, welches man kennt....es ist häufig so, dass wenn ich die Maus ganz schnell bewege und während dessen noch immer wieder in irgendwelche Richtungen drücken, ich mich für eine Zeit in die Richtung bewege, das Programm aber irgendwie gelähmt ist und nicht mehr die Mausaktionen beachtet...manchmal sieht es aber auch nach dem typischen Ruckeln aus, aber wahrscheinlich nur weil es in kürzeren Abständen ist...
Gruß,
KevinHi
ich kenne sowas zu genüge. Auf manchen System sind die Verzögerungen sogar im Sekundenbereich obwohl das Programm selbst flüssig läuft.
Ich vermute dass es darin liegt, dass der Messagehandler von dem Programm viel zu sehr gebremst wird. Manchmal hilft es, ab und zu ein Sleep(50) aufzurufen oder ähnliches. Aber die besten Erfahrungen habe ich mit DInput gemacht, dann hatte ich nie wieder solche Probleme.Viele Grüße
Fischi
-
schreib einfach
PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE );
TranslateMessage( &msg );
DispatchMessage( &msg );also ohne das if/else, weil sonst nicht gezeichnet wird, wenn eine message vorhanden ist ...
-
Surkevin schrieb:
Hat MSVS sowas nicht?
Doch, hat auch einen. Zumindest Version 6.0. Unter Build->Profile. Musst aber vorher die Projektoptionen so setzen, dass profiling aktiviert ist (project settings - link - enable profiling).
Jaja, mit dem Ruckeln ists so ne Sache
Wie siehts denn aus? Wie ist die Framerate?