skorup Opublikowano 28 Kwietnia 2004 Zgłoś Opublikowano 28 Kwietnia 2004 Jak odczytać ilosć klatek generowanych przez karte. Chce napisać program w stylu 3DMARK'a w C++, który będzie wyswietlał jakąś animacje i bedzie pokazywał FPS. Jaką funkcją lub jaką wstawke asemblerowa można do tego użyć. Jeszcze jak odczytać model kafty graficznej, oraz maksymalną rozdzielczość z jaką może pracować. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Neji Opublikowano 29 Kwietnia 2004 Zgłoś Opublikowano 29 Kwietnia 2004 Jak odczytać ilosć klatek generowanych przez karte. Chce napisać program w stylu 3DMARK'a w C++, który będzie wyswietlał jakąś animacje i bedzie pokazywał FPS. Jaką funkcją lub jaką wstawke asemblerowa można do tego użyć. Jeszcze jak odczytać model kafty graficznej, oraz maksymalną rozdzielczość z jaką może pracować. Hmmm... "coś w rodzaju 3DMarka" i nie wiesz jak się fps mierzy ;)? No nic, jak masz prockę renderującą scenę, to walisz tam timeGetTime() (odradzam używania timerów do tego, bo są niedokładne) i liczysz ile się razy wywołało w ciągu jakiegoś czasu. timeGetTime() zwraca czas od uruchomienia windy w milisekundach, więc trzeba podzielić przez 1000. Masz tu fragment z mojego programiku, uaktualnia fps co 0.5 sek, bo jak będziesz to robił co ramkę, to sieczka z tekstu będzie. Wstaw sobie, pozamieniaj zmienne i już. void Render(){ ...... statystyka.ak_czas = timeGetTime(); statystyka.fps = (float) statystyka.fps_licznik / ((statystyka.ak_czas - statystyka.cz_start)/1000.); statystyka.fps_licznik++; if(timeGetTime() - statystyka.cz_start > 500) { statystyka.cz_start = timeGetTime(); statystyka.fps_licznik=0; sprintf(info, "%.2f fps", statystyka.fps); } .........} na początek daj: #include <mmsystem.h>#pragma comment(lib, "winmm.lib") Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...