Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 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-сайт: www.hypertech.ru
 Профиль | | #2
Добавлено: 31.08.06 18:01
К примеру, следующий код
Option Explicit
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
За 1ms у тебя только VB все эти вызовы АПИшек переваривать будет
да ладно, гон ето все. И вообще мне не совсем то нужно.
Мне нужно остановить частоту для выполнения цикла в кадрах в секунду.

Ответить

Номер ответа: 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-сайт: www.vbnet.ru
 Профиль | | #12
Добавлено: 02.09.06 07:57
2 boevik: Что-то редко тебя можно тут увидеть :)

Ответить

Страница: 1 |

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



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