Пока я записываю позицию курсора с помощью C#, я перемещаю курсор по круговой траектории на моем мониторе. Вот код, который я использую для записи курсора, а также истекшее время:Шум в скорости курсора, который записан на C#
Stopwatch swTime = new Stopwatch();
private StreamWriter swRecorder;
private void start_Click(object sender, EventArgs e)
{
swRecorder = new StreamWriter("cursor.txt");
swTime.Start();
timer1.Enabled = true;
}
private void stop_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
swTime.Stop();
swRecorder.Close();
}
private void timer1_Tick(object sender, EventArgs e)
{
string strNewLine = swTime.Elapsed.TotalMilliseconds.ToString();
strNewLine = strNewLine + "," + Cursor.Position.X.ToString();
swRecorder.WriteLine(strNewLine);
}
Если я сюжет положения самописца (X компонент) курсора в зависимости от времени, я получаю следующий сюжет:
Затем я измеряю скорость (DeltaX/DeltaT) и снова рисую ее в зависимости от времени. Тогда я получаю следующий сюжет:
Теперь мой вопрос: почему скорость шумная/неровную?
Потому что вы не двигаете курсором с постоянной скоростью? – PaulF
Может ли это быть связано с длиной галочки самого таймера? edit: см. @dlxeon очень точный ответ ниже. –
@RyanPeters Графики рисуются относительно времени записи. Таким образом, длина галса не может быть проблемой! – NESHOM