Wpis z mikrobloga

Mirki, chciałbym napisać prosty windowsowy program (powiedzmy, że w javie), który liczy czas od wyświetlenia obrazka do wciśnięcia klawisza. Czy da się jakoś określić dokładność takiego pomiaru czasu?
Wiem, że systemy operacyjne nie mają do końca wiele wspólnego z czasem rzeczywistym, ale nie mam pojęcia jak będzie obsługiwane takie przerwanie i czy ma to jakieś znaczenie przy pomiarze ludzkiego czasu reakcji.
#programowanie
  • 8
@qweasdqweasd: Jak to zrobić to mniej więcej wiedziałem. Z czystej ciekawości zastanawiam się jaka jest dokładność takiego pomiaru. W jaki sposób liczony jest ten czas? "This method provides nanosecond precision, but not necessarily nanosecond accuracy."
@qweasdqweasd: @makaladu: No nie wiem czy nanosekunda ma tu jakiś sens, do mierzenia reakcji spokojnie wystarczą milisekundy. Bo żaden człowiek nie zrobi nic w 1 ms, a i prawdopodobnie system na którym to odpalisz nie ma zegara tak dokładnego by zobaczyć różnicę pomiędzy kolejnymi ns + sam czas wykonania kodu :D
Co do dokładności itd... to używa systemu, jak system na którym jest odpalona aplikacja, daje rade liczyć czas w
@saracenxc: Nie wiem jak to działa pod javą dokładnie, ale ogólnie możesz spokojnie mierzyć czas w znacznie większej dokładności.
Z tego co testuje na moim kompie, skacze o 410 ns, prawdą jest to że pod linuxem potrafi skakać o mniejsze jednostki.

EDIT: hyym, albo poczekaj, bo jakieś dziwne liczby mi wyprintowało, za małe jak na nanosekundy chyba

Ah, już widzę, bo to przecie zwraca od nieznanej "daty", to jest tylko do
@GotoFinal: Dzięki za odpowiedź. A jeszcze zostawiając konkretnie ten przykład, a skupiając się bardziej na samym pomiarze czasu.
Rozumiem, że dokładność zliczania zależy od timera procesora(albo sytemu?). Tylko że nawet mając super precyzyjny timer w grę wchodzi jeszcze obsługa przerwań przez system.
Czy pod windowsem można jakoś kontrolować chociażby priorytet tych przerwań? Bo wydaje mi się, że system dostając takie przerwanie od GPIO może je sobie na jakiś czas odłożyć i
@makaladu: nic ci więcej tutaj nie pomogę, bo nie wiem jak to dokladnie wygląda, ale dokładność kontroluje system. (No chyba ze masz procesor tak wolny ze 1 operacja na ms go zacznie przerastać :D)