|
|
|
Аналог GetTickCount под Linux.
|
|||
|---|---|---|---|
|
#18+
Нужен аналог Виндовского GetTickCount - т.е. функция, которая возвращает количество "тиков", прошедших с момнта старта системы, например. Желательна точность не менее 1/250 секунды.Чем это можно сделать? По поиску в гугле выкинуло на предложение использовать times() в комбинации с sysconf(_SC_CLK_TCK), но оно явно делает не то что мне нужно - вместо времени, прошедшего внутри системы, возвращает время, прошедшее внутри процесса. Плюс sysconf(_SC_CLK_TCK) возвращает у меня точность 100, что есть мало. Ниже тестовая программа под opengl/glut (под обе платформы), для которой это надо. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. секунду. Под mingw/wine получается "правильный" вариант, который вертитьс с одинаковой скоростью вне зависимости от загрузки системы и выделения процессорного времени. Под линуксом скорость вращения неверная, и она снижается/повышается в зависимости от загрузки процессора. Т.е. это не то, что нужно. в man 7 time упоминается software clock, который меня и интресует, но ссылок на функции я чего-то не увидел. Может, я чего-то недопонял или недостаточно глубоко копнул? Подскажите, пожалуйста, решение. ЗЫ. gettimeofday, как я понял из исходников wine, дает точность 1/100 секунды. Это маловато. Есть ещё варианты? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 16:19 |
|
||
|
Аналог GetTickCount под Linux.
|
|||
|---|---|---|---|
|
#18+
ErV ЗЫ. gettimeofday, как я понял из исходников wine, дает точность 1/100 секунды. Это маловато. Есть ещё варианты? Posted via ActualForum NNTP Server 1.4 GetTickCount возвращает не тики а миллесекунды. Его точность около 15мс. А вообще clock http://www.cppreference.com/stddate/clock.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 21:11 |
|
||
|
Аналог GetTickCount под Linux.
|
|||
|---|---|---|---|
|
#18+
daevaorn wrote: > GetTickCount возвращает не тики а миллесекунды. Его точность около 15мс. > А вообще clock http://www.cppreference.com/stddate/clock.html Спасибо. Странно все это, но хоть обьясняет, почему иногда между двумя вызовами GetTickCount(), проходило 0 миллисекунд. К слову. В процессе ковыряния обнаружил очень интересную вещь: Код программы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. А вот вывод, который она выдает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. g++ 3.4.6) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 22:25 |
|
||
|
Аналог GetTickCount под Linux.
|
|||
|---|---|---|---|
|
#18+
ErV daevaorn wrote: > GetTickCount возвращает не тики а миллесекунды. Его точность около 15мс. > А вообще clock http://www.cppreference.com/stddate/clock.html Спасибо. Странно все это, но хоть обьясняет, почему иногда между двумя вызовами GetTickCount(), проходило 0 миллисекунд. К слову. В процессе ковыряния обнаружил очень интересную вещь: Код программы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. А вот вывод, который она выдает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. g++ 3.4.6) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 09:47 |
|
||
|
Аналог GetTickCount под Linux.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. От так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34500607&tid=2028930]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 504ms |

| 0 / 0 |
