Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SDL i własny timer

Ostatnio zmodyfikowano 2009-12-05 13:14
Autor Wiadomość
kamillo121
Temat założony przez niniejszego użytkownika
SDL i własny timer
» 2009-11-29 20:11:14
Witam , otóż używam biblioteki sdl  i np lazyfoo w dalszych tutkach używa timerów , Na tej stronie w kursie Allegro też jest timer ..
Teraz pytanie do Was, co timer z technicznej strony robi ?  wiem do czego służy tylko nie rozumie jego zasady działania , jak on może mniej więcej zbliżyć prędkość działania programu na różnych komputerach ?
Przeglądałem kody źródłowe z takich timerów i nic nie przychodzi mi na myśl .
Proszę, niech ktoś mi wytłumaczy zasadę działania takiego timera 
P-11908
DejaVu
» 2009-11-29 21:41:02
Jeden procesor wykona 3mln instrukcji w ciągu sekundy, drugi 500 tysięcy w tym samym czasie. Timer zapewnia, aby fragmenty kodu były zależne nie od ilości instrukcji wykonanych, ale od odstępów czasowych, jakie między kolejnymi zdarzeniami mają być. Tak więc jeśli timer ma wykonać 100 razy w ciągu sekundy jakiś fragment kodu to zostanie to zapewnione w miarę możliwości sprzętowych.
P-11911
kamillo121
Temat założony przez niniejszego użytkownika
» 2009-11-30 08:13:57
Dziekuję, tylko teraz jeszcze jedno . Przy poącztku pętli głownej/bądź tam gdzie chce zastosować timery mam włączyć czas do odliczania pod koniec wyłączyć i sprawdzić czy jest równy ustalonej szybkiości jak nie to zatrzymać program na  SDL_Delay(czasUstalony-czasAktualny) ?  Tak w nnajprostrzej postaci pytam :)
P-11917
DejaVu
» 2009-11-30 17:39:38
Timery mają wykonywać zadanie x razy na sekundę, a nie mierzyć czasy wykonania między poszczególnymi zadaniami (przynajmniej Ty jawnie tego nie robisz).
P-11918
kamillo121
Temat założony przez niniejszego użytkownika
» 2009-11-30 17:42:07
Hmm dzięki za wyjaśnienie
P-11919
dmx81
» 2009-12-04 20:39:48
witam, podlacze sie do tematu, bo wlasnie ten kurs przerabiam, z timerami i musze przyznac, ze nie do konca rozumiem, jak logicznie sobie moge przyswoic dzialanie timera - oczywiscie wszytsko dziala jak trzeba, moge zwiekszac i zmniejszac BPS i efekt jest widoczny, ale chodzi mi o sama logike, chyba cos zle sie wczytalem w temat:

deklarujemy zmienna speed = 0 , oraz funkcje ktora zwieksza ta szybkosc

a pozniej podajemy warunek w petli, ze dopoki speed jest wieksze od 0, szybkosc ma byc zmniejszana - jak to dziala w praktyce, tak krok po kroku, bedzie mial ktos cierpliwosc mi wytlumaczyc?:D:D dzieki


ps. i czy ta zmienna speed oraz funkcja - ich nazwy sa "odgórnie ustalone?" czy nazwac moge jak chce? np void zwieksz_szybkosc
P-11950
DejaVu
» 2009-12-05 13:14:10
Bezsensu by było gdyby zmienna i funkcja miałaby odgórne nazwy.
P-11952
« 1 »
  Strona 1 z 1