Grafika 3D
 
  Zarejestruj siŕ
::  Newsy  ::  Pliki  ::  Twoje Konto  ::  Forum  ::
Menu
· Strona g│ˇwna
· Forum
· Linki
· Lista u?ytkownikˇw
· O nas...
· Pliki
· Statystyki
· Twoje Konto
Tutoriale
· API
· Matematyka
· Teoria
· Direct3D
· OpenGL
· Techniki
Kto Jest Online
Aktualnie jest 35 goŠ(ci) i 0 u┐ytkownik(ˇw) online.

Jeste anonimowym u┐ytkownikiem. Mo┐esz siŕ zarejestrowaŠ za darmo klikaj▒c tutaj
Grafika 3D: Forum

Grafika 3D :: Zobacz temat - licznik czasu- problem z QueryPerformanceCounter'em
Zaloguj Rejestracja FAQ U┐ytkownicy Szukaj
Strona po?wi?cona programowaniu grafiki 3D

Forum Grafika 3D Strona G│ˇwna -> Inne -> licznik czasu- problem z QueryPerformanceCounter'em
Napisz nowy temat  Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz nastŕpny temat 
licznik czasu- problem z QueryPerformanceCounter'em
PostWys│any: Nie Mar 06, 2005 5:18 pm Odpowiedz z cytatem
kudza
User
User
 
Do│▒czy│: Mar 06, 2005
Posty: 1
Sk▒d: Rybnik




Zaczne od tego, ze sie przywitam bo to moj pierwszy post na tym forum. Witam, wiec serdecznie wszytikch forumowiczow Very Happy...mam nadziej, ze przyjmiecie mnie tu cieplo.

Od kilku dni borykam sie z problem podczas pisania licznika czasu do mojej gry.
Zademonstruje wpierw co napisa?em, a moze ktos powie gdzie mam blad.

class CTimer
{
LARGE_INTEGER liLastTime; //tu porzechowuje ostatni pomiar
LARGE_INTEGER liDelta; //tutaj zas pomiar ostatni - przedostatni,
LARGE_INTEGER liF; ///tutaj czestliwosc zliczania

public:
void Init(); ///nazwy metod chyba sa jasne
double GetDeltaT();
double GetFPS();
void Update();
};


A oto zawrtosc pliku cpp:



void CTimer::Init()
{
if (!QueryPerformanceFrequency(&liF))
{
MessageBox(NULL,"Cannot create timer","Error!!",MB_ICONSTOP);
exit(1);
}
QueryPerformanceCounter(&liLastTime);
}


void CTimer::Update()
{
LARGE_INTEGER liTmp;
QueryPerformanceCounter(&liTmp);
liDelta.QuadPart=liTmp.QuadPart-liLastTime.QuadPart;
liLastTime.QuadPart=liTmp.QuadPart;
}



double CTimer::GetDeltaT()
{
return (double)liDelta.QuadPart/(double)liF.QuadPart;
}

double CTimer::GetFPS()
{
return 1/((double)liDelta.QuadPart/(double)liF.QuadPart);
}


Blad objawia sie tak ze funkcje GetDeltaT oraz GetFPS zwracaj calkowiece glupie wyniki..naprzyklad liczby ujemne..(geralnie FPS wynosi wg nich kolo 0.8, a wiem ze to jest niemozliwe:P)
Czy blad jest gdzie w moim kodzie, czy moze o czyms zapomnialem??
Jak ktos mam jaks koncepcje bede bardzo wdzieczny:)

Pozdrwiam
kudza
Zobacz profil autora WyÂlij prywatn▒ wiadomoŠ
 
PostWys│any: Nie Sie 24, 2008 2:38 pm Odpowiedz z cytatem
DemoLisH
User
User
 
Do│▒czy│: Aug 24, 2008
Posty: 5




mozesz uzyc funkcji WaitForSingleObject
albo timera Smile
Zobacz profil autora WyÂlij prywatn▒ wiadomoŠ
 
licznik czasu- problem z QueryPerformanceCounter'em
  Forum Grafika 3D Strona G│ˇwna -> Inne
Nie mo┐esz pisaŠ nowych tematˇw
Nie mo┐esz odpowiadaŠ w tematach
Nie mo┐esz zmieniaŠ swoich postˇw
Nie mo┐esz usuwaŠ swoich postˇw
Nie mo┐esz g│osowaŠ w ankietach
Wszystkie czasy w strefie CET (Europa)  
Strona 1 z 1  

  
  
  
Username:      Password:     

~ or ~
Register

  
 Napisz nowy temat  Odpowiedz do tematu  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin
Forums ©
Nasze newsy s� w RSS: backend.php
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Tworzenie strony: 0.08 sekund

:: Layout strony zosta│ stworzony przez www.nukemods.com w oparciu o styl phpbb2 Helius, ktˇrego autorem jest Cyberalien ::