«Пойдем логическим путем» как сказал герой известного фильма.Во-во! Вот в этих самых зависимостях и есть главная проблема![]()
«Пойдем вместе»!
По моему скромному мнению они просты и открыты в прошлом веке англичанином по фамилии Ньютон. Попытаюсь объяснить на примере EECH.
Можно выделить четыре типа (режима) полета, то есть летных моделей:
взлёт,
полёт,
автопилот,
посадка,
можно добавить пятый «Вы сбиты» - то есть падение, тоже полёт.
Вначале я обратил внимание на посадку сима, при снижении да высоты 10 метров вертикальная скорость скачком изменяет значение с 0 на –10 (интересно чего только, наверно баксов за пуд), хотя основной шаг, крен, тангаж и рысканье - не изменяются. То есть происходит переключение в режим посадки.
Еще пример – летим со скоростью 300 км, включаем автопилот, сим включает тормоза, то есть задирает нос, снижает скорость до 250 и начинает снижение до высоты 10 метров с вертикальной скоростью –10. Меня сбили много раз в этот момент, пока я понял это.
Летим со скоростью 200 км, включаем автопилот, сим снижается (пикирует), увеличивая скорость до 250.
Причём летные модели?
Делаем проверку, зависаем не подвижно на высоте 100 метров, включаем секундомер и автопилот, закисаем, за какое время происходит разгон до 250 км. Далее проделываем тоже самое ручками и сравниваем.
Можете попробовать повторить поворот на 90 градусов в контрольной точке маршрута, как это делает сим и посмотреть, как это получится.
Разделение на режимы упростило каждую модель в отдельности, оставив проблемы сопряжения, то есть перехода с одной модели на другую, которые решить проще.
Скорее всего, их больше и они могут зависеть от причин не связанных на прямую с полётом, например от отображения на экране и т. д. Это же сим, игрушка, поэтому я и применил слово «тип» в место модель.
Повторюсь, по моему скромному мнению основным недостатком всех движков является то, что все в одном флаконе.
Немного статистики про EECH. Вначале миссии действия разворачиваются вяло, а при ускорении времени более 4, даже на карте, он начинаете заикаться. Решил померить, и что же я вижу (аппарат у меня с двумя мозгами, а видео карта слабая TNT 64), одна голова загружена на 38%, другая на 50%. Вывод – движок однопоточный и даже в режиме карты не отключает формирование изображения. Как его дорабатывать и отлаживать? Всё в одном флаконе и зачем это нужно делать производителю? 38% видимо уходит на поддержку графики.
Вывод «Сим» должен строится из отдельных частей связанных только информационно и выполняющихся в отдельных потоках, тогда можно будет дорабатывать каждую часть отдельно, и не зависимо. ЧТО Я И ПРЕДЛАГАЮ ВСЕМ НАЧАТЬ ДЕЛАТЬ!!!