Страница 4 из 23

Re: Версия 1.0.0

Добавлено: 01 сен 2019, 19:47
lord_vl80
Катанул тут немного и вот оно что:

1) Инвертированная мышка. Надо, наверное, сделать два варианта.
2) При включении ГВ вольтметр КС очень медленно вышел на значение 27 кВ, хотя в реальности он вскакивает за долю секунды.
3) Вот тут интересно, я сразу заметил несостыковку скорости. Визуально картинка движется медленнее, чем на самом деле. Даже сделал замер. Один пикет я проехал за 8,3 секунд, это 12 м/с т.е 42 км/ч, но по данным симулятора скорость была 68 км/ч.

Re: Версия 1.0.0

Добавлено: 01 сен 2019, 19:59
Ромыч РЖДУЗ
lord_vl80 писал(а):
01 сен 2019, 19:47
3) Вот тут интересно, я сразу заметил несостыковку скорости. Визуально картинка движется медленнее, чем на самом деле. Даже сделал замер. Один пикет я проехал за 8,3 секунд, это 12 м/с т.е 42 км/ч, но по данным симулятора скорость была 68 км/ч.
ОПА! А вот мы и попались! :D
Да да, есть такое, Дмитрий как раз сейчас активно поправляет этот косяк. :wall:
Первую свою поездку я сделал на участке Сухиничи-Брянск и доехал аж за 2.20 часа, что ну никак не соответствовало средней скорости 90 км/ч. В результате вот именно сегодня выяснили - у нас не правильно тикает время в игре и занижается скорость.
В процессе.

Re: Версия 1.0.0

Добавлено: 01 сен 2019, 20:05
maisvendoo
Вот тут интересно, я сразу заметил несостыковку скорости. Визуально картинка движется медленнее, чем на самом деле. Даже сделал замер. Один пикет я проехал за 8,3 секунд, это 12 м/с т.е 42 км/ч, но по данным симулятора скорость была 68 км/ч.
Да, есть такое - симулятор несколько выпадает из реалтайма. Это очень серьезный баг, который мы обнаружили сегодня. Будет фиксится в первую очередь, не дело это. Будет патч и перезалив версии на сайт

Поясню технически. В коде симулятора, в модуле model.dll есть такой таймер

Код: Выделить всё

void Model::timerEvent(QTimerEvent *event)
{
    Q_UNUSED(event)

    // Feedback to viewer
    //sharedMemoryFeedback();

    double tau = 0;
    double integration_time = static_cast<double>(integration_time_interval) / 1000.0;

    // Integrate all ODE in train motion model
    while ( (tau <= integration_time) &&
            is_step_correct)
    {
        preStep(t);

        // Feedback to viewer
        sharedMemoryFeedback();

        controlStep(control_time, control_delay);

        is_step_correct = step(t, dt);

        tau += dt;
        t += dt;

        postStep(t);
    }

    //train->vehiclesStep(t, integration_time);
    train->inputProcess();

    // Debug print, is allowed
    if (is_debug_print)
        debugPrint();
}
Который выполняется с интервалом, задаваемым параметром IntegrationTimeInterval из конфига cfg/init-data.xml. По дефолту там 20 миллисекунд. Таймер срабатывает раз в 20 мс, и просчитывает физику (предельно быстро как только может) на эти же 20 мс. Возможно, что он делает это дольше 20 мс, и возникает затяжка по времени. Могу посоветовать увеличить этот интервал до 100.

Внимание! Я провел эксперимент по изменению интервала щелкания таймера - баг лечится следующим образом:

1. Открываем в текстовом редакторе (обязательно с поддержкой кодировки UTF-8!!!) файл cfg/init-data.xml
2. Изменяем параметр IntegrationTimeInterval с 20 на 100, вот так

Изображение

Ход времени вернется в нормальное русло.

P.S.: Подумал, на всякий случай вот патч, фиксящий конфиг

Re: Версия 1.0.0

Добавлено: 01 сен 2019, 21:28
lord_vl80
Работает, но теперь физика тормозит, перемещения не такие плавные (не ФПС). А ещё опрос кнопок уменьшил, теперь лучше управлять. Продольные реакции очень обрадовали, всё как в реале)

АП. Даже при значении 100, все равно значения расходятся. 132 км/ч пишет сим, 118 визуально.

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 14:55
maisvendoo
Даже при значении 100, все равно значения расходятся. 132 км/ч пишет сим, 118 визуально
Что же, малой кровью не вышло, значит будем колупать дальше. Пофиксим - баг первый в очереди на фикс

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 16:47
lord_vl80
Поковырялся тут немного с данным конфигом, параметр <IntegrationTimeInterval> нужно не увеличивать, а уменьшать, выставил значение 10 и всё заработало как часы. До миллисекунд, правда, не проверял, может немного не сходится.

Опрос клавиш тоже рекомендую на 10 поставить, отзыв получается отличный.

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 17:14
Ромыч РЖДУЗ
lord_vl80 Огромное тебе спасибо! Я тоже установил параметры 10 и у меня теперь мало того, что стабилизировалось время, так и программа MCabMapper идеально обрабатывает имитацию клавиш от джойстика! Всё теперь как в ZDS, строго и жёстко. :)
А то мы с Димой над этой проблемой мучились долго.
Вот что такое - ОТКРЫТЫЙ симулятор, в этом сила! Любые параметры, могут настраивать пользователи. :good: :good: :good:

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 17:18
maisvendoo
Да, ребята, я впечатлен! Грешным делом думал что все эти конфиги и параметры будут сбивать с толку, а теперь первоначальная задумка получила первое сильное подтверждение - глубокая кастомизация настроек это абсолютно верное архитектурное решение. Первая совместная победа - огромное спасибо за помощь :hi:

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 17:30
ginky
Версия очень сырая. Вот что могу сказать)
Буду следить за проектом, надеюсь у вас получится

Re: Версия 1.0.0

Добавлено: 02 сен 2019, 18:09
Ромыч РЖДУЗ
Конечно сырая, мы и не отрицаем. Но очень хотелось познакомить публику с новой разработкой. В результате один из пользователей, уже помог нам устранить косяк со временем. :)