-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил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 грохнуть клавишника было в ближнем бою ох как не просто, тока на е,, сейчас не думаю, но некий прирост на угле на больших скоростях будет, но опятьже триммера все преимущества клавиш и настроек гасят
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Еропанк. Признаюсь, дурак был. Отрицательное сглаживание - это действительно ФВЧ... То есть супер-плавные движения не передает. Не замечал, потому что моторика у меня нервная %) Коллективный разум рулит :)
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Orion33
Еропанк. Признаюсь, дурак был. Отрицательное сглаживание - это действительно ФВЧ... То есть супер-плавные движения не передает. Не замечал, потому что моторика у меня нервная %) Коллективный разум рулит :)
Орионыч, иди проспись :) .
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от pakman
Тут можно стрить догадки. Я считаю, что расчёт физики 10 раз в секунду достаточен для обеспечения сходимости численной схемы. Процессору легче интерполировать координаты для каждого фрейма, чем 100 или более раз в секунду обсчитывать ФМ полностью. Но как там на самом деле - я не знаю.
Наихудший вариант - это если ФМ считается 100 раз в секеунду, а джойстик только 10 раз. Это была бы просто очередная подстава для игроков. Причём, на мой взгляд, неаргументированная.
Ну почему... теорему Шеннона (Котельникова :) ) еще никто не отменял. Запиши типичный дроч джоя в бою, например, вычисли его спектр... даже интересно будет, какая там часть энергии на составляющие выше 3-4 Гц придется. Я серьезно: очень интересную работу проделаешь и полезную... :)
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от Orion33
Еропанк. Признаюсь, дурак был. Отрицательное сглаживание - это действительно ФВЧ... То есть супер-плавные движения не передает. Не замечал, потому что моторика у меня нервная %) Коллективный разум рулит :)
Ну, как мы выяснили - это не чистый ФВЧ, а некий фильтр, АЧХ которого в интересующем нас диапазоне опускается от верхних частот к нижним. При этом даже трудно сказать, какую именно форму имеет эта АЧХ.
В другой теме я предположил, что АЧХ этого фильтра имеет форму функции Котельникова (sin(x-a)/(x-a)) в диапазоне от 0 до a. Но сейчас я в этом совсем не уверен. Из практических опытов можно утверждать только то, что АЧХ этого фильтра при отрицательных сглаживаниях понижается с понижением частоты.
Т.е. в данном случае термин ФВЧ применим весьма условно, только для обозначения более сильного гашения НЧ по сравнению с ВЧ.
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
А что многоуважаемые авторы думают по поводу повышения чисел в кривых отклика свыше 100? Например 10,40,60,80,100,110,115,120,123,125
Будеит это работать, или нет? Особенно в свете вот этой ветки:
http://forum.sukhoi.ru/showthread.ph...266#post671266
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
-
Ответ: Баг-репорт: обработка сигнала джойстика в Ил2
Цитата:
Сообщение от 71Stranger
А что многоуважаемые авторы думают по поводу повышения чисел в кривых отклика свыше 100? Например 10,40,60,80,100,110,115,120,123,125
Будеит это работать, или нет? Особенно в свете вот этой ветки:
http://forum.sukhoi.ru/showthread.ph...266#post671266
Да это будет работать.
Значения кривой выше 100 сужают рабочий ход физической оси.
Т.е. при кривых "все по 200" виртуальная ручка достигнет крайнего положения уже на половине хода физической оси. Дальнейшее движение физической оси на игру не повлияет.
Соответственно при кривых "все по 300" тоже самое произойдет на одной трети хода физической оси.
Так что нет никакого криминала в использовании значений >100 для формирования кривой отклика.
Беги, 71Stranger, беги быстрее! ПАКМАН ПРОСНУЛСЯ!!! :D