![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| MYL |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
А, вроде понял надо написать
У меня ещё вопрос. А если мою программу будут запускать на совершенно разных машинах, то будут ли результаты одинаковыми, если, допустим, у всех людей реакция будет одинаковая? То есть, предположим, два варианта: 1. У человека Celeron 333 и десять запущенных приложений 2. У человека Intel Core Если у двух человек одинаковая реакция, то будут ли на этих двух машинах одинаковые результаты? В самом первом моём сообщении - пример из Delphi Russian Knowledge Base from Vit Version 2.3. Насколько я понимаю, там считают WaitCal, чтобы избежать разницы? То есть мне надо считать
Или я ошибаюсь? |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Разница будет только в точности измерений, но в данном случае это не существенно.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Если надо сверхточное время замерить, как ты говоришь, то тебе скорее вообще в раздел "программирование контроллеров" потому, что сверхточного времени в многопоточной системе а ля Windows, которая к тому же стоит на разных машинах быть не может...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
Правильно рассуждаешь. Потери на многопоточности и как результат неточность измерений могут дел натворить таких, что получатся далеко не объективные результаты. Хотя опять же при грамотном выполнении задачи и на Celeron и на Core Duo результаты будут довольно точными. Но если накладывать реальные условия(т.е. могут быть запущены 10 приложений или ещё что другое), то конечно весь этот тест не стоит ничего. Что касается точности GetTickCount то её вполне достаточно, тем более, если учитывать что два её срабатывания как раз укладываются во время прохождения импульса от сетчатки до мозга и от мозга до пальца составляет ~20 мс, прошу заметить, что это только лишь время движения импульсов и только лишь в том случае, если человек полностью сосредоточен на задаче. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Я же протестировал! При 90мкс погрешность больше 10%. Может для вас этого и достаточно, но для более менее серьезных исследований сомневаюсь! И еще, установите приоритет программе Real Time. Так чтобы ее как можно меньше прерывали другие программы. Это серьезно может повлиять на точность. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
alexeis1
Ну во-первых, где это у нас речь шла о 90мкс? Во-вторых, суть Вашего теста мне не ясна, чтобы измерить точность GetTickCount Вы использую другую функцию(Sleep), которая может давать чудовищные для данного случая погрешности. Или я неправильно понял сути? В-третьих, кто определил серьёзность исследований? Вы? При серьёзных исследованиях используются отдельные аппратные таймеры или по-крайней мере комплексы, которые работают в реальнои режиме процессора + учитывается масса других факторов, о которых здесь и небыло упомянуто. В-четвертых, ненужно придираться к отрывкам, я не одной лишь цитируемой фразой ограничился в своих рассуждениях, читайте и вникайте целиком в ответ. Прошу заметить, что я не настаиваю на её использовании и не говорю, что она безупречна, я лишь сказал, само собой, если есть возможность использова более точные средства, то это нужно делать, но опять же, повторяю, многозадачность может свести всю точность на нет. Это сообщение отредактировал(а) W4FhLF - 19.12.2006, 14:50 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| MYL |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Как? Добавлено @ 14:53
Может быть, такие программы уже существуют? Но где их взять?
Ничего серьёзного, но боюсь, что мою программку может запустить на разных машинах более 1 тысячи человек (без шуток). И я боюсь, что везде результаты могут быть разными. Вот поэтому я и спрашиваю... Добавлено @ 14:57 и у меня нет времени изучать ни MSDN, ни контроллеры, ни системы в реальном времени.... Мне бы её как-нибудь написать, чтобы потом не было стыдно... Вот и вся задача! |
||||||
|
|||||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
Повысить приоритет ты конечно можешь, но это съест кучу времени у других процессов, ощутишь ли ты при этом значительную прибавку в точности сказать сложно.
В остальном конечно использую связку QueryPerformanceCounter/QueryPerformanceFrequency, ничего лучше не придумаешь. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
http://forum.vingrad.ru/index.php?showtopi...;st=15&hl=# Жмешь на кнопку через неопределенное время (от 1 до 5ти секунд) меняется цвет круглишка, сразу после этого считывается количество тиков, после повторного нажатия на кнопку число тиков замеряется еще раз. Разница выводится на экран. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
Ну наверно всё-таки не мкс, а мс.
Так, ну понял. А как Ваш тест характеризует точность данной функции? -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
MYL, SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL)
Добавлено @ 15:26 Ага их самых.
Нет он служит для оценки реакции человека. Сопоставима ли она с точностью GetTickCount(); 90мс сопоставимо с 10мс имхо. Это сообщение отредактировал(а) alexeis1 - 19.12.2006, 15:23 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
Ну вот, а о чём тогда спор? Я ведь изначально сказал, что достаточно этой функции. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Звиняюсь не с точностью а с погрешностью 10мс это же погрешность...
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |