Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Timer1.Interval=1000 Добавлено: 23.06.07 22:42  

Автор вопроса:  appolinari
Есть такая заковырка...
Таймер может обрабатывать какое либо действие с частотой до 1/1000 секунды. А если мне надо больше? скажем 1/3000? есть ли что то подобное таймеру, но с более высокой частотой?

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 23.06.07 22:47
Оно и таймер не может гарантировать точность до тысячной секунды, что уж говорить о большей частоте..

Ответить

Номер ответа: 2
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #2 Добавлено: 23.06.07 23:04
Тоесть никак?
Я пытался сделать через вложеые циклы. Когда один обрабатывает действие, а второй задержку, но тогда прога подвисает до окончания цикла, чего не происходит при использовании таймера...
 Как быть?

Ответить

Номер ответа: 3
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #3
Добавлено: 23.06.07 23:15
Что-то про Timer было на http://www.vbaccelerator.com
Там или код был или в состав проектов какой-то таймер входит...

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 24.06.07 00:53
Если тебе нужен такой быстрый отклик, имеет смысл посмотреть в сторону операционных систем реального времени. На худой конец использовать реалтайм-приоритет потока и процесса.

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 25.06.07 09:40
Оно и таймер не может гарантировать точность до тысячной секунды, что уж говорить о большей частоте..

В попу таймер! Это полный отстой! Его частота изменяется по логарифмической шкале - тобишь:
интервал 1000 = 1 с.
интервал 1 <> 1/1000 с.
интервал 1 = 1/60 с.

Дебилизм!

Ответить

Номер ответа: 6
Автор ответа:
 VisualPaul



ICQ: 402519798 

Вопросов: 12
Ответов: 111
 Профиль | | #6 Добавлено: 26.06.07 09:47
Чтобы не висла в цикле добавь в его тело
DoEvents
.Хотя стоп как биос считает время в милисекундах . Поэтому на большее чем 1/1000 секунды не расчитывай

Ответить

Номер ответа: 7
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #7 Добавлено: 26.06.07 11:08
имеет смысл посмотреть в сторону операционных систем реального времени
Ты много их назовешь? Я - только QNX знаю, но под него ты точно VB не найдешь.

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 26.06.07 15:07
Тебе нужны еще какие-то? Драйвер на питоне тоже не напишешь.

Ответить

Номер ответа: 9
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #9 Добавлено: 26.06.07 16:52
имхо стандартный таймер дает 1/38 секунды точности. Указанное время между тиками округляется до большего тика.
Можно сделать вот так

dim T as single
t=timer
Do
    if timer-t<интервал then
        Call Действие()
        t=timer
    end if
    doevents
Loop

но проц это грузит нереально
Если не любишь флоаты, перепиши Timer на GetTickCount, а Single на Long

Ответить

Номер ответа: 10
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #10 Добавлено: 26.06.07 16:58
Не помню как, но можно помнять точность системного таймера. Если владеешь асмом, можно подружить время с инструкцией rdtsc, тогда уж дело совсем пойдет как по маслу, но не менее чем в 600 строк макроассемблера

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 26.06.07 21:24
:\ бред. если цикл - зависит от частоты проца, если таймер - нет никакой точности, т.к. процессорное время приложения контролирует процессор, а не само приложение. Приоритетами можно увеличить процессорное время для приложения/потка, но точности таймеру это не добавит

Ответить

Номер ответа: 12
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #12 Добавлено: 27.06.07 01:29
бред что? я не настаиваю на прецизионной точности своих вариантов таймера. но из всех описаных они дают наивысшую точность и имхо автору этого достаточно

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам