Byłem pewien, że to pytanie zostało zadane wcześniej, więc skorzystałem oczywiście z funkcji wyszukiwania, aby sprawdzić, czy istnieje odpowiedź na mój problem.Czasomierz ObjC/C/C++ o wysokiej rozdzielczości z oddzwonieniem
Jednak wszystko, co mogłem znaleźć, zawierało wiele odpowiedzi na temat mierzących czas z wysoką precyzją.
Potrzebny jest zegar o wysokiej rozdzielczości (co najmniej milisekundy), który pozwala mi wywołać wywołanie zwrotne po upływie określonego czasu. Chciałbym użyć tego w aplikacji Cocoa Mac OS X, więc C/C++ lub Obj-C będzie możliwe. Jeśli potrzebne są dodatkowe biblioteki, to też jest w porządku.
Znalazłem to http://www.songho.ca/misc/timer/timer.html, ale korzystam z strategii "oczekującego oczekiwania" i kosztowałoby to zbyt dużo wydajności, jak sądzę.
Pomoc jest bardzo cenna!
C lub C++? Wybierz jedno. –
Nie znam kakao, ale powinieneś przeczytać więcej o jego mechanizmie pętli zdarzeń; na pewno da ci to kilka minut lub sondowanie ... Zasadniczo powinieneś dowiedzieć się, jak zarejestrować wywołanie zwrotne zdarzenia timeout. –
To pytanie wydaje się mieć twoją odpowiedź: http://stackoverflow.com/questions/464618/whats-the-equivalent-of-windows-queryperformancecount-on-osx (druga odpowiedź: w OSX mach_absolute_time i mach_timebase_info są najlepszymi odpowiednikami Win32 QueryPerformance * funkcje.) –