| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Янв 25, 2010 14:25 Заголовок сообщения: проблема измерения времени |
|
|
Вот столкнулась с проблемой:
1. 2 компьютера, на обоих windows xp
2. программа на java. Меряю время нажатия клавиши пользователем. Для этого использую метод System.currenttimemillis().
3. Обнаружила что на одном компьютере программа время показывает нормальное, на втором время увеличивается. Сделала тест с хронометром - результаты показали что второй комп для каждых ~10 сек мне показывает ~12. То есть в реальном времени прошло 10 сек, посчитало 12, 20-24, 30-36 и т.д. На первом компьютере подсчет ведется нормально.
Вопрос: в чем проблема, куда копать или как настроить второй компьютер? |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 4247 Откуда: Русь
|
Добавлено: Янв 25, 2010 14:31 Заголовок сообщения: RE: проблема измерения времени |
|
|
| На этот System.currenttimemillis() нельзя положиться, он не даст супер-точных значений. Есть специальная платная JVM вроде, где такое реализовано. Может еще nanoTime() тебе поможет? |
|
| Вернуться к началу |
|
 |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Янв 25, 2010 15:39 Заголовок сообщения: RE: проблема измерения времени |
|
|
| не помогло |
|
| Вернуться к началу |
|
 |
Pahan Бывалый
Зарегистрирован: 13.04.2009 Сообщения: 342 Откуда: Минск
|
Добавлено: Янв 25, 2010 15:51 Заголовок сообщения: RE: проблема измерения времени |
|
|
А как проводятся эти измерения?
Если часы в системном трее работают нормально не спешат не отстают. То и System.currenttimemillis() должен работать нормально. |
|
| Вернуться к началу |
|
 |
finalizer Завсегдатай
Зарегистрирован: 19.01.2008 Сообщения: 1135
|
Добавлено: Янв 25, 2010 17:53 Заголовок сообщения: RE: проблема измерения времени |
|
|
| System.currentTimeMillis() является нативным методом и возвращает точный результат. Другое дело, что операции перед вызовом этого метода могут занимать разное время на разных компьютерах. Вообще было бе неплохо взглянуть на ваш код. |
|
| Вернуться к началу |
|
 |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Янв 26, 2010 23:21 Заголовок сообщения: RE: проблема измерения времени |
|
|
| Походу это винда неправильное значение возвращает |
|
| Вернуться к началу |
|
 |
Pahan Бывалый
Зарегистрирован: 13.04.2009 Сообщения: 342 Откуда: Минск
|
Добавлено: Янв 26, 2010 23:47 Заголовок сообщения: RE: проблема измерения времени |
|
|
Если отставания так, заметны, что вместо 10 сек дает 12сек. То можно зайти в BIOS и проверить с помощью секундомера как идут часы там. Потому, что были случаю когда проблемы с часами возникали из-за вирусов.
Если же проблема на уровне биоса, то можно попробовать заменить батарейку на материнской плате. Если это не поможет, то тут наверно только материнку менять. |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 4247 Откуда: Русь
|
Добавлено: Янв 26, 2010 23:52 Заголовок сообщения: RE: проблема измерения времени |
|
|
Этот метод возвращает значения с точностью масимум 6 миллисекунд. Во всяком случае я точней не видал  |
|
| Вернуться к началу |
|
 |
Pahan Бывалый
Зарегистрирован: 13.04.2009 Сообщения: 342 Откуда: Минск
|
Добавлено: Янв 26, 2010 23:54 Заголовок сообщения: RE: проблема измерения времени |
|
|
| А как ты это понял? |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 4247 Откуда: Русь
|
Добавлено: Янв 26, 2010 23:58 Заголовок сообщения: RE: проблема измерения времени |
|
|
| Присваивал двум переменным время, а потом их выводил. |
|
| Вернуться к началу |
|
 |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Янв 28, 2010 1:44 Заголовок сообщения: Re: RE: проблема измерения времени |
|
|
| Староверъ писал(а): |
Этот метод возвращает значения с точностью масимум 6 миллисекунд. Во всяком случае я точней не видал  |
У меня 15-16 мс. Но это не задержка измерения. Это интервал измерения, приводящий к максимальной погрешности в 16мс. Финальное значение то не кумулируется, как в моем случае.
Поставили линукс. Сделаю тест программы на линуксе. |
|
| Вернуться к началу |
|
 |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Янв 28, 2010 1:45 Заголовок сообщения: Re: RE: проблема измерения времени |
|
|
| Pahan писал(а): |
Если отставания так, заметны, что вместо 10 сек дает 12сек. То можно зайти в BIOS и проверить с помощью секундомера как идут часы там. Потому, что были случаю когда проблемы с часами возникали из-за вирусов.
Если же проблема на уровне биоса, то можно попробовать заменить батарейку на материнской плате. Если это не поможет, то тут наверно только материнку менять. |
если и на линуксе будет проблема - тогда полезу в биос. |
|
| Вернуться к началу |
|
 |
almagnit Модератор

Зарегистрирован: 20.02.2009 Сообщения: 708 Откуда: Луганск
|
Добавлено: Янв 29, 2010 0:17 Заголовок сообщения: RE: проблема измерения времени |
|
|
| Цитата: |
| Если же проблема на уровне биоса, то можно попробовать заменить батарейку на материнской плате. Если это не поможет, то тут наверно только материнку менять. |
Ух ниче себе, а может взять платную JVM
А как это измерять часы БИОСа секундомером, рука не дрогнет ?
Ведь человеческая реакция медленнее будет частоты создаваемой мат.платой (кварцами на ней) и считываемой биосом.
Вот Вы сможете при частоте 50Гц дотронуться до розетки с переменным током пальцем, чтобы током не ударило, это когда фаза находится в районе нуля, если да, тогда на кнопку секундомера нажать успеете  _________________
  |
|
| Вернуться к началу |
|
 |
Pahan Бывалый
Зарегистрирован: 13.04.2009 Сообщения: 342 Откуда: Минск
|
Добавлено: Янв 29, 2010 0:30 Заголовок сообщения: RE: проблема измерения времени |
|
|
Я же сказал, если отставания так, заметны, что вместо 10 сек дает 12сек.
Был просто случай один, начали часы у одного человека дуреть, на совершенно новом компе. Причем так, что в принципе и вез секундомера видно. Зашли в биос начали смотреть на часы там, там внешне все нормально было. Отсюда подумали, что винда шалит. В итоге это был вирус.
15 мил конечно не рука дрогнет. |
|
| Вернуться к началу |
|
 |
ola_nag Новичок
Зарегистрирован: 25.01.2010 Сообщения: 8
|
Добавлено: Фев 06, 2010 0:50 Заголовок сообщения: RE: проблема измерения времени |
|
|
с часами в винде точно не все ладно.
В командной строке вызываю комманду time, и размер задержки в java программе меняется, но по разному и до -1,1с, -0.6с и т.д.
Что происходит, когда ввожу time? почему меняется системный результат? Как настроить часы в винде, чтоб правильно тикали? |
|
| Вернуться к началу |
|
 |
|