-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
В связи с этим вопрос: зачем понадобилось обрабатывать сигнал от джойстика реже, чем выполняется расчёт физики?
В обычной практике так делается, если объём второстепенных расчётов составляет значительную долю от полного обёма вычислений и не укладывается в основной таймерный цикл. Тогда выделяется другой таймерный цикл, с большим периодом, и в нём производятся второстепенные расчёты. Но в нашем случае:
1) Разве ввод обратной связи можно считать второстепенным расчётом?
2) Можем ли мы поверить, что объём вычислений по обработке сигналов осей джойстика занимает значительную часть от объёма вычислений ФМ, ДМ и прочего М?
Нее! Не похоже. Кадров-то больше! Если-б рисовались всего 10 в секунду - были-б вполне заметные тормоза! Значит между отсчетами интерполяция? А зачем оно надо? ИМХО, положение крафтов, стрельба, ФМ, еще что-то обсчитывается намного чаще, а управление, какое-нить движение наземки, обломки там, взрывы и тп - 10 раз в секунду, ну в этот цикл запихали и обсчет джоя...
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Dab
10 раз в секунду - врядли. Ведь у большинства фпс больше,а совпадающих кадров вроде не наблюдается?
Или они силы-моменты-скорости 10 раз в секунду считают, а координаты - чаще?
Тут можно стрить догадки. Я считаю, что расчёт физики 10 раз в секунду достаточен для обеспечения сходимости численной схемы. Процессору легче интерполировать координаты для каждого фрейма, чем 100 или более раз в секунду обсчитывать ФМ полностью. Но как там на самом деле - я не знаю.
Наихудший вариант - это если ФМ считается 100 раз в секеунду, а джойстик только 10 раз. Это была бы просто очередная подстава для игроков. Причём, на мой взгляд, неаргументированная.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от 71Stranger
положение крафтов, стрельба, ФМ, еще что-то обсчитывается намного чаще, а управление, какое-нить движение наземки, обломки там, взрывы и тп - 10 раз в секунду, ну в этот цикл запихали и обсчет джоя...
Обратную связь запихали во всякие второстепенные задачи? Ты считаешь это логично?
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Dab
10 раз в секунду - врядли. Ведь у большинства фпс больше,а совпадающих кадров вроде не наблюдается?
Или они силы-моменты-скорости 10 раз в секунду считают, а координаты - чаще?
С другой стороны - получается, что на "супер-компьютерах" число ФПС упрется в 1/время тика так? Тогда можно это проверить, запустив на различных конфигурациях простейшую карту с минимальной графикой и померять ФПС. Если на разных, но мощных компах максимальные ФПС совпадут - тогда догадка верна. А что происходит на "слабых" компах, выдающих меньше 10 ФПС?
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
Наихудший вариант - это если ФМ считается 100 раз в секеунду, а джойстик только 10 раз. Это была бы просто очередная подстава для игроков. Причём, на мой взгляд, неаргументированная.
Мне 10 раз в сек не нравится тем, численная схему будет хоть и сходящаяся, но очень неконсервативная, особенно при движении по изогнутым траекториям - возникли бы "дополнителыне" ускорения порядка 0.5м/c^2, а это килоньютоны тяги 8)). А разработчики отвечают, что с этим все ОК... так что частота ФМ, похоже, выше...
Надо придумать опыт - как бы эту дискретность ФМ посчитать?
А откуда данные о 10 раз в секунду с джойстика?
update: еще раз убеждаюсь, что реализация - это самая сложная задача
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Dab
А откуда данные о 10 раз в секунду с джойстика?
Оттуда:
http://212.192.155.117/forum/showthread.php?t=1511 :D
Цитата:
Сообщение от Dab
update: еще раз убеждаюсь, что реализация - это самая сложная задача
Тебе, как маркетологу, видней :D.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
Тут можно стрить догадки. Я считаю, что расчёт физики 10 раз в секунду достаточен для обеспечения сходимости численной схемы. Процессору легче интерполировать координаты для каждого фрейма, чем 100 или более раз в секунду обсчитывать ФМ полностью. Но как там на самом деле - я не знаю.
Наихудший вариант - это если ФМ считается 100 раз в секунду, а джойстик только 10 раз. Это была бы просто очередная подстава для игроков. Причём, на мой взгляд, неаргументированная.
При таком варианте придётся не интерполировать, а экстраполировать.
Первый тик получили, а нужно считать уже следующий кадр, а что будет следующим тиком ещё не известно.
Или считать с задержкой на 1 тик?
Тогда 1/10 секунды задержки - это много...
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от MaxPayneRUS
как только вы расскажете КАК увидеть разницу между сглаживанием 0 и -50, а то какие то домыслы одни, смотрят в черный квадрат малевича и рассказывают что видят там что то кроме черного квадрата
:D
Воображение, друг мой, воображение! Воспользуйся им, и может быть вместо "Чёрного квадрата" ты увидешь эпохальное полотно "Чёрной-чёрной ночью негры уголь воруют". ;)
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
А кстати, не связана ли пресловутая "болтанка" с экстраполяцией?
Изменил между тиками джой на 1 показания, и следующую 1/10 сек считается, что джой продолжил движение в том же направлении...
Приходит новый тик, а показания джоя остались прежними- ё-маё! А мы-то насчитали... Крути взад! А если не на 1, а на 10?
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от POP
А кстати, не связана ли пресловутая "болтанка" с экстраполяцией?
Изменил между тиками джой на 1 показания, и следующую 1/10 сек считается, что джой продолжил движение в том же направлении...
Приходит новый тик, а показания джоя остались прежними- ё-маё! А мы-то насчитали... Крути взад! А если не на 1, а на 10?
Может и такое. Всё может быть, я теперь ничему не удивлюсь. :rolleyes:
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
Обратную связь запихали во всякие второстепенные задачи? Ты считаешь это логично?
Не во второстепенные, а в медленные. Юзер - тормоз. :) Чтоб избежать злобного дрочения ручки и избавиться от необходимости сглаживать его в ФМ можно было просто пореже опрашивать джой. ПМСМ.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от POP
А кстати, не связана ли пресловутая "болтанка" с экстраполяцией?
Изменил между тиками джой на 1 показания, и следующую 1/10 сек считается, что джой продолжил движение в том же направлении...
Приходит новый тик, а показания джоя остались прежними- ё-маё! А мы-то насчитали... Крути взад! А если не на 1, а на 10?
Не. крафт бы колбасило как умалишенный. Особенно что-нить типа фоки с высокой маневренностью по крену. Восему, имхо, частота опроса мала, между опросам джой (само-собой) считается неподвижным, а частота рассчета физики выше.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от 71Stranger
Не во второстепенные, а в медленные. Юзер - тормоз. :) Чтоб избежать злобного дрочения ручки и избавиться от необходимости сглаживать его в ФМ можно было просто пореже опрашивать джой. ПМСМ.
А что же тогда не 1 раз в секнду? Или, ещё лучше, в 10 секунд. Фильтровать так будет - закачаешься. Все будем летать как в кинохронике.
Ракция юзера - прядка 0.1 секнды. А нам накидывают ещё столько же за счёт низкой частоты опроса джойстика.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
А что же тогда не 1 раз в секнду? Или, ещё лучше, в 10 секунд. Фильтровать так будет - закачаешься. Все будем летать как в кинохронике.
Ракция юзера - прядка 0.1 секнды. А нам накидывают ещё столько же за счёт низкой частоты опроса джойстика.
Я долго про это все думал. Про опыты. Про чтение доки на директикс, про то, что на реальном самоле ручку с борта на борт за 0.1сек не переведешь...
В итоге скажу вот что: если мы почитай 5 лет отлетали и только сейчас заметили, значит все нормально. :) Ну ломает МГ громоздить отдельный цикл на опрос джоя. Ну и пусть. Я думаю, в ранних пре-бетах они все промеряли, перепробовали и остановились на такой схеме, тк эффект от дальнейших улучшений не оправдывает затрат... Как нибудь так они думали, наверное... Опять-же если джой опрашивать 100 раз в секунду, не факт, что он будет так часто отвечать... Короче, можно долго :expl: а разработчику все равно видней %)
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от 71Stranger
Я думаю, в ранних пре-бетах они все промеряли, перепробовали и остановились на такой схеме, тк эффект от дальнейших улучшений не оправдывает затрат... Как нибудь так они думали, наверное...
:D :D :D
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
Ну и самый, на мой взгляд, интересный результат из всего этого - стала известна дискретность, с которой Ил вводит сигнал от джойстика в модель. С бльшой долей вероятности, что это есть дискретность расчёта физики в Иле.
10 раз в секунду.
PS Э... может это и так давно все знают? А я тут Америку открываю... :D
Про дискретность обработки сигналов с устройств пока оставим, вопрос насчет физики.
Как с этим утверждением о 10 Гц коррелирует то, что игра показывает нам числовые значения параметров движения ЛА с частотой, в разы большей 10 Гц?
Грубо говоря, переходим в Shift+F1, переводим аппарат в пикирование и наблюдаем мелькание цифр высоты, равное ФПСам.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Maximus_G
Как с этим утверждением о 10 Гц коррелирует то, что игра показывает нам числовые значения параметров движения ЛА с частотой, в разы большей 10 Гц?
Грубо говоря, переходим в Shift+F1, переводим аппарат в пикирование и наблюдаем мелькание цифр высоты, равное ФПСам.
Это значит, что все силы, моменты, и, соответственно, ускорения рассчитываются 10 раз в секунду. А вычислять скорости и координаты можно чаще (и рисовать самолет в этих координатах), это времени почти не занимает.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от MUTbKA
Это значит, что все силы, моменты, и, соответственно, ускорения рассчитываются 10 раз в секунду. А вычислять скорости и координаты можно чаще
Ты разделил физику на эти две части и сделал именно такой вывод, исходя из предположения, что скорости и координаты можно считать чаще? :ups:
---
Хотя в твоих словах достаточно здравого смысла.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Maximus_G
Ты разделил физику на эти две части и сделал именно такой вывод, исходя из предположения, что скорости и координаты можно считать чаще? :ups:
Это не на 2 части. Физика вся кончается на расчете мгновенных ускорений. Все остальное - это арифметика вида v+=a*t, x+=v*t+a*t*t/2. Знакомо?
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Далее:
Означает ли предположение о 100 мс то, что при нажатии кнопки стрельбы снаряды начнут свое движение точно в момент начала следующего 100-миллисекундного тика?
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Maximus_G
Означает ли предположение о 100 мс то, что при нажатии кнопки стрельбы снаряды начнут свое движение точно в момент начала следующего 100-миллисекундного тика?
Ну раз джой опрашивается 10 раз в секунду, а кнопка стрельбы находится именно на нем? :)
По крайней мере, для себя я давно сделал вывод, что при стрельбе под большими углами к траектории цели со сверхмалых дистанций упреждение надо брать побольше, чем обычно, хотя "в реале" нужно было бы делать скорее наоборот (из-за замедления снарядов в воздухе). Одно время я грешил на то, что у двухкнопочного курка x52 слишком большой ход, и за счет этого имеется определенная задержка между сигналом пальчику о нажатии и выстрелом из пушки, но теперь я думаю, что дело не только в этом.
Более любопытен другой вопрос - как опрашивается клавиатура? Может, почаще (как-никак, винда события сразу в очередь пихает)?
-
Вложений: 1
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от MUTbKA
Более любопытен другой вопрос - как опрашивается клавиатура? Может, почаще (как-никак, винда события сразу в очередь пихает)?
Мои тесты показывают что
* _задержка реакции_ Ила на клаву значительно меньше, чем на джой;
* _частота опроса_ клавы такая же.
См. тему "Джои в Иле, замедленная реакция" и аттач.
Наличие частоты опроса и её величину определяю исходя из предположения, что если мы многократно тыкаем клавиши, то в среднем попадаем в середину временного промежутка между соседними опросами. Разумеется, плюс время задержки. Получившееся распределение глазом проверяем на нормальность, и если оно нормальное - то ширина распределения соответствует времени между тиками, т.е. частоте опроса. См. лист №2 в эксельном файле.
Замеры сделаны через покадровый просмотр записи с экрана, сделанной цифрокамерой (частота кадров = 50, соответственно точность измерений 20 мс).
---
Честно говоря, поначалу думал, что это фигня, сел тестировать, и тут оно объявилось.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от MUTbKA
Ну раз джой опрашивается 10 раз в секунду, а кнопка стрельбы находится именно на нем? :)
10 раз в секунду - это для аналоговых осей. Как вводятся состояния кнопок я не определял. Тут подходит методика Максимуса.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Maximus_G
* _задержка реакции_ Ила на клаву значительно меньше, чем на джой;
Интересно, а возможен ли такой "чит" - профайлером джоя связываем кнопку на джое с кнопкой на клаве, и уже клавиатурную кнопку забиваем в Ил. Если это даст реальный эффект - кое-кто и после смерти устанет икать... Вечером буду пробовать.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
в ил2 грохнуть клавишника было в ближнем бою ох как не просто, тока на е,, сейчас не думаю, но некий прирост на угле на больших скоростях будет, но опятьже триммера все преимущества клавиш и настроек гасят