Страница: 1 |
Страница: 1 |
Вопрос: Разряд "как", раздел "время"
Добавлено: 31.08.06 17:15
Автор вопроса: AgentFire | ICQ: 192496851
как отследить изменение времени, равное 1 ms?
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 31.08.06 17:50
Совсем охренел?
Попробуй QueryPerformanceCounter и QueryPerformanceFrequency, только дохло это, на VB...
Номер ответа: 2
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #2
Добавлено: 31.08.06 18:01
К примеру, следующий код
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Command1_Click()
Dim t1 As Long, t2 As Long
Dim i As Long, j As Long
t1 = GetTickCount
Debug.Print "Start"
While i < 100000
t2 = GetTickCount
If (t2 - t1) > 1 Then j = j + 1
t1 = t2
i = i + 1
DoEvents
Wend
Debug.Print "End " & i & " " & j
End Sub
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 31.08.06 18:03
1 ms таким кодом ты не получишь. Никогда.
Номер ответа: 4
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #4
Добавлено: 31.08.06 18:22
да, тиккаунт меняет себя только на 10 мс сразу
Номер ответа: 5
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #5
Добавлено: 31.08.06 18:25
а немного поподробней про QueryPerformance... мона?
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 31.08.06 18:56
Сначала увеличь интервал времени, тогда и поговорим
За 1ms у тебя только VB все эти вызовы АПИшек переваривать будет.
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 31.08.06 19:00
Вообще я бы на твоем месте подзабил на это дело конкретно. Не дело это - мерять миллисекунды в многозадачной среде. Разве что вставишь асмовый шмот кода и винду заглушишь...
Не дело это VBшное
Номер ответа: 8
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #8
Добавлено: 31.08.06 22:19
да, жаль. На С++-то можно.
Номер ответа: 9
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #9
Добавлено: 01.09.06 00:15
Мне нужно остановить частоту для выполнения цикла в кадрах в секунду.
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 01.09.06 00:17
тфу, не остановить, а установить
Номер ответа: 11
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #11
Добавлено: 01.09.06 11:31
Гы... И как это соотносится с основным вопросом?
Так, для справки - ни один mediasoft не воспроизводит 1000 кадров в секунду. Обычно ограничиваются 30, а это уже совсем другой порядок.
Если ты имеешь ввиду рабочий цикл - к миллисекундам его привязывать бред полнейший.
Номер ответа: 12
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #12
Добавлено: 02.09.06 07:57
2 boevik: Что-то редко тебя можно тут увидеть