Window mit 900000 FPS?
-
Ich weiß aber jetzt immer noch nicht wieviele FPS mein Windows macht. Kann ir das jetzt mal einer sagen wie ich da den Code machen muss?
Danke im voraus.
-
mach doch sonst eine messagebox in eine schleife und messe wie oft du die messagebox in einer sekunde (oder minute) wegklicken kannst..nur wenn du es für eine minute machst musst du danach noch die anzahl der klicks durch 60 teilen damit du die anzahl in sekunden hast
-
eLISA schrieb:
Ich weiß aber jetzt immer noch nicht wieviele FPS mein Windows macht. Kann ir das jetzt mal einer sagen wie ich da den Code machen muss?
Danke im voraus.
Eine schlechte Kopie bist du, jawohl!
Mein Code vom ersten Posting funktioniert einwandfrei.while( msg.message != WM_QUIT ) { if( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else { frametime = framerater.elapsed(); //holt die verstrichene Zeit vom PerformanceCounter in Sekunden FPS = 1.0f / frametime; counter++; if( counter > 100000 ) { InvalidateRect( hwnd, 0, true ); counter = 0; } } fps = FPS;900000fps, steht doch im Titel
groovemaster schrieb:
Naja, das Auge "filmt" schon kontinuierlich. Das Gehirn kann diese Informationen aber nur mit einer bestimmten Frequenz verarbeiten. Insofern sind Menschen auch nur Maschinen.

Ist so übrigens nicht ganz richtig. Die Stäbchen brauchen ne gewisse Zeit, um sich wieder "aufzuladen", also um das Vitamin A wieder in seine aktive Form zu bringen. Mit der Verarbeitungszeit des menschlichen Gehirns kann sowieso kein Computer mithalten. Von dem her ne verdammt gute Maschine.

-
..und weil ich so nett bin, hier der Code wie frau in Windows Text ausgeben kann, ganz ohne Textbox, und Unicode konform:
//...in den Definitions #include <windows.h> #include <tchar.h> #include <sstream> #include <iomanip> typedef std::basic_stringstream<TCHAR> tsringstream; //...in der MsgProc tsringstream text; PAINTSTRUCT ps; HDC hDC; switch( msg ) { //... case WM_PAINT: text << std::setprecision(2) << std::fixed << fps << " FPS" ; if( hDC = BeginPaint( hWnd, &ps ) ) { TextOut( hDC, 0, 0, text.str().c_str(), text.str().length() ); EndPaint( hWnd, &ps ); } return 0;ps: kritik erwünscht

-
Elisa schrieb:
eLISA schrieb:
Ich weiß aber jetzt immer noch nicht wieviele FPS mein Windows macht. Kann ir das jetzt mal einer sagen wie ich da den Code machen muss?
Danke im voraus.
Eine schlechte Kopie bist du, jawohl!
Mein Code vom ersten Posting funktioniert einwandfrei.Man bin ich dumm

-
Elisa schrieb:
Elisa schrieb:
eLISA schrieb:
Ich weiß aber jetzt immer noch nicht wieviele FPS mein Windows macht. Kann ir das jetzt mal einer sagen wie ich da den Code machen muss?
Danke im voraus.
Eine schlechte Kopie bist du, jawohl!
Mein Code vom ersten Posting funktioniert einwandfrei.Man bin ich dumm

Oh ja! Und wie!

Sei doch mal nett!!!
-
Elisa schrieb:
..und weil ich so nett bin, hier der Code wie frau in Windows Text ausgeben kann, ganz ohne Textbox, und Unicode konform:
//...in den Definitions #include <windows.h> #include <tchar.h> #include <sstream> #include <iomanip> typedef std::basic_stringstream<TCHAR> tsringstream; //...in der MsgProc tsringstream text; PAINTSTRUCT ps; HDC hDC; switch( msg ) { //... case WM_PAINT: text << std::setprecision(2) << std::fixed << fps << " FPS" ; if( hDC = BeginPaint( hWnd, &ps ) ) { TextOut( hDC, 0, 0, text.str().c_str(), text.str().length() ); EndPaint( hWnd, &ps ); } return 0;ps: kritik erwünscht

is zwar korrekt aber ...naja wär auch einfacher möglich...:
#include <windows.h> //...in der MsgProc PAINTSTRUCT ps; TCHAR szBuf[50] switch msg) { //... case WM_PAINT: wsprintf(szBuf, TEXT("%d FPS"), fps); if(BeginPaint(hWnd, &ps)) { TextOut(ps.hdc, 0, 0, szBuf, strlen(szBuf)); EndPaint(hWnd, &ps ); } return (0); // ... }Aber dein Code is natürlich völlig rischtisch

__________________________________________________________________________
eLISA schrieb:
Von dem her ne verdammt gute Maschine.

du anscheinend auch

MfG CodeFinder
-
CodeFinder
C
-
He Duuu,
las doch jetzt die flirterei, ich werd noch ganz verlegen :rotwerd:[quote="CodeFinder]eLISA schrieb:
Von dem her ne verdammt gute Maschine.

du anscheinend auch

MfG CodeFinder[/quote]
Willst du damit sagen, das ich anscheinend auch ein Mensch bin? :pDas mit wsprintf hab ich ewig probiert, kam aber zum Schluss, dass es mit floats nicht wirklich funktioniert. Jedenfalls war die Ausgabe immer recht kryptisch.
Aber werds gleich noch einmal testen..
Bis später..
-
wsprintf kann nicht mit float umgehen.
-
Nee, floats in wsprintf is irgendwie nicht so doll

Diesmal gibts rund **-**2147 Millionen aus.
Ich mach mir zwar nichts aus hohen Framerates(
), aber negativ ist dann doch etwas arg wenig.Naja nicht so schlimm, mit stringstreams arbeit ich sowieso lieber, is intuitiver, einfach mit << zu verketten. Für directX muss ich eh noch was überlegen, wie ichs da ausgebe.
Werd wohl ein D3DXFONT nehmen, obwohl das ja etwas lahm sein soll, aber is ja nur zu Testzwecken. Bitmap Fonts mag ich nich, die haben kein schönes Spacing.
-
eLISA schrieb:
He Duuu,
las doch jetzt die flirterei, ich werd noch ganz verlegen :rotwerd:[quote="CodeFinder]eLISA schrieb:
Von dem her ne verdammt gute Maschine.

==>>
lol, fühl dich doch einfach geschmeichelt...
...das is nicht schwer 
_____________________________________________________________________________________eLISA schrieb:
CodeFinder schrieb:
du anscheinend auch

MfG CodeFinder
Willst du damit sagen, das ich anscheinend auch ein Mensch bin?
==>>
ne ich will damit sagen das du auch ne verdammt gute 'Maschine' bist

_____________________________________________________________________________________eLISA schrieb:
Das mit wsprintf hab ich ewig probiert, kam aber zum Schluss, dass es mit floats nicht wirklich funktioniert. Jedenfalls war die Ausgabe immer recht kryptisch.
Aber werds gleich noch einmal testen..
Bis später..
==>>
jo wsprintf kann auch nicht mit float umgehen hab mir ehrlich gesagt den Typ von fps nicht angeguckt...-sry-
Dazu müsst ihr sprintf nehmen...sry nochmal wg. der Arbeit...die Zeile:wsprintf(szBuf, TEXT("%d FPS"), fps);in diese umändern:
sprintf(szBuf, TEXT("%f FPS"), fps);dann sollte es worken (falls nicht noch ein "#include <stdio.h>" zu deinen anderen Includes)...
_____________________________________________________________________________________MfG CodeFinder
-
eLISA schrieb:
Für directX muss ich eh noch was überlegen, wie ichs da ausgebe.
wie geil!, kannst du DirectX ??? ---
mein Respekt! ...Obacht 
MfG CodeFinder
-
float fTest = 2.21234234f; char cBuffer[256]; _snprintf(cBuffer, 256, "Die Variable Test: %4.2f", fTest);
-
...pst weitersagen...eLISA und CodeFinder sind ein Liebespaar...
-
(D)Evil schrieb:
float fTest = 2.21234234f; char cBuffer[256]; _snprintf(cBuffer, 256, "Die Variable Test: %4.2f", fTest);Heisst 4.2 -> 4 Stellen vor, 2 nach dem Komma? (Bin grad froh, eine Stelle zu haben)
Wasn _snprintf()? tönt schwer nach nicht standardkonformen c..
ne da bleib ich doch bei meinem tstringstream!
CodeFinder schrieb:
..wie geil!, kannst du DirectX ??? --- --> mein Respekt! ...Obacht
Sagen wir mal, ich lerne es

Is ja nich so schwer, die msdn zu bedienen, M$ rechnet zum Glück mit dem DAU
CodeFinder schrieb:
==>>
lol, fühl dich doch einfach geschmeichelt...das is nicht schwerOK... *geschmeicheltfühl*
CodeFinder schrieb:
==>>
ne ich will damit sagen das du auch ne verdammt gute 'Maschine' bist
reingefallen..pass immer auf: was du sagst, und was du meinst, ist nicht das gleiche...
Aber dann mal Danke für die netten Komplimente.CodeFinder schrieb:
==>>
jo wsprintf kann auch nicht mit float umgehen hab mir ehrlich gesagt den Typ von fps nicht angeguckt...-sry-Ehrlich gesagt, hab ich auch den Typ nicht angegeben, ich mag nicht, wenn jeder meine Typen kennt

CodeFinder schrieb:
Dazu müsst ihr sprintf nehmen...sry nochmal wg. der Arbeit...die Zeile:
wsprintf(szBuf, TEXT("%d FPS"), fps);in diese umändern:
sprintf(szBuf, TEXT("%f FPS"), fps);dann sollte es worken (falls nicht noch ein "#include <stdio.h>" zu deinen anderen Includes)...
Wie gesagt, ich mag sstreams, is halt "handier" und cpluspluser
CodeFinder schrieb:
MfG CodeFinder
Auch Dir, schöne Grüsse und vielen Dank fürs "kümmern"
ps: maximal sind 10 smilies erwünscht

-
Jo _snprintf printf usw sind alles C Funktionen. streams sind bei dtandardkomformen C++ richtig.
Wobei WinAPI auch C ist

-
Ehrlich gesagt, hab ich auch den Typ nicht angegeben, ich mag nicht, wenn jeder meine Typen kennt

tze tze tze, und n guten Sinn für Humor hat sie auch noch
...das mit den smilies is mir auch aufgefallen... 
MfG CodeFinder
PS: Ließt du n Buch bzgl DirectX ?
-
hmm dein Code ist übrigens doch nicht UNICODE konform denn:
text << std::setprecision(2) << std::fixed << fps << " FPS" ;muss:
text << std::setprecision(2) << std::fixed << fps << TEXT(" FPS") ;heißen;
glaub ich zum mindestens ...sry Schätzchen

MfG CodeFinder
-
CodeFinder schrieb:
Ehrlich gesagt, hab ich auch den Typ nicht angegeben, ich mag nicht, wenn jeder meine Typen kennt

tze tze tze, und n guten Sinn für Humor hat sie auch noch
...das mit den smilies is mir auch aufgefallen... 
MfG CodeFinder
PS: Ließt du n Buch bzgl DirectX ?
He Du
's wird hier langsam ziemlich OT..mir is es ja egal..nö, wieso bücher kaufen, die eh nur auf ihrem eignen Mist aufbauen?
Hab mir halt die MSDN Tutorials reingezogen (die sind sehr gut, in Verbindung mit der Referenz), und ein weiteres (keine Ahnung mehr woher) wo einer die DXdevice in ne Klasse gekapselt hat. Die Klasse hab ich nun übernommen und angepasst. Ne Klasse für D3DXFONTS is am entstehn. DInput hab ich auch aus der MSDN. Für ne theoretische Abhandlung über 3D Darstellung ist Vertexwahn's Essay recht gut und kompakt.CodeFinder schrieb:
hmm dein Code ist übrigens doch nicht UNICODE konform denn:
text << std::setprecision(2) << std::fixed << fps << " FPS" ;muss:
text << std::setprecision(2) << std::fixed << fps << TEXT(" FPS") ;heißen;
glaub ich zum mindestens ...sry Schätzchen (zuviele Smilies)
MfG CodeFinderSorry Schätzchen, mein Compiler (VS2005EE) schluckt das ohne mucken. Frag mich nich wieso...

Was du immer für CodeFindest

ach und @(D)evil: ich weiss, WinAPI ist elend.

Kein Grund selbst auch elenden Code zu schreiben.
DX9 is aber objectorientiert..Also zusammenfassend kann man sagen, ich hab erst ein Hauptfenster aufgebaut mit WinAPI, dann nen Timer auf Basis des PerformanceCounters für die Framerate ( da kam für mich der Shock mit 900000FPS wo ich hier mal nachfragen musste ), und danach die DirectX Interfaces implementiert. Inzwischen hab ich ein Fensterchen mit einem Background Surface( noch ist alles 2D )( damals, im Ferienlager, hab ich mit SDL angefangen ) und netten 85-90 FPS.
Ihr seht, die Ausgabe des floats ist für mich sekundär, aber natürlich nett. Es korrekt zu machen is sowas wie Ehrgeiz. Ich könnts ja auch in ein File schreiben, aber all die "coolen" Games habens doch oben links oder rechts in der HUD stehn.
Soweit bin ich noch nicht, aber es kommt die Zeit...
Ok ich könnt noch lange plappern, drück aber jetzt mal auf "Senden"..Grüsse an euch alle da draussen
