RCHeliClub.ru
Симуляторы - школа полётов => Симуляторы (Общий) => Тема начата: AlexSr от 10 Март, 2011, 15:49:05 pm
-
По крайней мере в отношении Феникса могу сказать, что поведение сима (особенно реакция на стики) сильно зависит от того, как он запущен в многопроцессорной системе.
При простом запуске (по умолчанию), практически всегда наблюдается неадекватность (задержки, "лаги") на управление. И поведение модели (рендеринг скорее), да же при высоком ФПС не совсем адекватные.
Решаю эту проблему "привязкой" (AFFINITY) процесса симулятора к определённому (одному) ядру/потоку процессора.
Но делать это руками каждый раз - задалбывает. >:D
(делается это так: запускаем сим, давим CTRL+SHIFT+ESC, запускается диспетчер задач, на вкладке "приложения" делаем правый клик по приложению сима phoenixRC , или что там у нас запущено, выбираем в открывшемся меню:"перейти к процессам", на открывшейся вкладке "процессы", процесс сима будет уже выделен, опять правый клик мышки и там уже - "задать соответствие" (если склероз не врёт). Откроется окно выбора ядра/потока. Снимаем галку "все", и ставим напротив "0"... уф! Всё, задали привязку. ::))
Долго искал способ "автоматизации" процесса. Есть всякие разные программки, которые это умеют делать... но это - не "камильфо" :D
И оказалось, что в недрах операционки семейства Виндуоз всё уже есть, на самом деле. ;)
Спасибо KiD0M4N с форума http://www.techenclave.com (http://www.techenclave.com/guides-and-tutorials/cpu-affinity-made-easy-67317.html) *BRAVO*
Для начала небольшой экскурс в глубь Вин-системы (любой, хоть 64-х битной, начиная с Вин 2000):
Многие знают про существование "дос окна" в винде. Этим занимается командный процессор CMD.EXE
Но не многие знают, про его скрытые возможности.
Открываем либо в главном меню "выполнить" и вводим CMD + энтер
Либо - просто кликаем ярлык "Командная строка" в меню программ "стандартные".
Откроется "дос окно". (чёрненькое такое :D )
Набираем в нём: START /?
И видим список команд (опций) запуска приложений.
Нас интересует ключ "/AFFINITY"
Там ещё есть ключи для установки "приоритета" приложения, но нас это в данный момент не интересует.
Обозначение потока/ядра в командной строке начинается с НОМЕРА 1 , а не "0" - как если бы мы делали это в диспетчере задачь, в окне "процессы".
То есть, нумерация "человеческая" : 1, 2, 3, 4, ...
Теперь, как всё это "автоматизировать".
Нужен "ярлык" к экзешнику симулятора. Именно ярлык!
Клик правой кнопкой мыши на ярлыке откроет нам контекстное меню, там самый последний пункт "свойства"...
В строке "обьект" ярлыка мы увидим что то на подобии: D:\Games\PhoenixRC\phoenixRC.exe
А в строке "рабочая папка" : D:\Games\PhoenixRC
Нам нужно в строку "обьект" вписать ДО имеющейся там строки D:\Games\PhoenixRC\phoenixRC.exe следующее:
(привязка к 1-му (нулевому) ядру процессора)
CMD.EXE /C START /AFFINITY 1
И говорим "ОК". После этого, наш ярлык станет такого же вида, как у ярлыка командной строки. А путь к CMD станет приблизительно такого вида: C:\WINDOWS\system32\cmd.exe
Можно вернуть прежний вид ярлыку, опять открыв "свойства", там нажать кнопку "сменить значёк", выбрать в верхней строке открывшегося окна файл симулятора (ехе) и картинку.
Одно важное замечание, касаемое ПУТИ к файлу!
К сожалению, CMD имеет проблемы с длинными путями с пробелами и русскими буквами.
В ярлыке такие пути заключены в кавычки, скажем: "C:\Documents and Settings\" - такой путь (с пробелами) просто так не передать в командный процессор.
По этому, самый простой выход из этой ситуации - вообще не передавать никакого пути туда ;D
То есть, нужно сам ЯРЛЫК - положить в папку, где находится симулятор. Тогда, путь к симулятору - будет путём по умолчанию для командного процессора.
И строка запуска будет иметь следующий вид:
C:\WINDOWS\system32\cmd.exe /C START /AFFINITY 1 phoenixRC.exe
Усё! Наслаждаемся новыми впечатлениями ;)
-
Real Flight имеет ту же проблему. Огромное спасибо за подсказку!!!!
-
Саша, ты про какую версию Феникса говоришь?
Кстати, попробуй еще вместо привязки к ядру поставить v-sync в настройках видео.
-
Вить, практически любая версия.
И основная проблема не в синхронизации (чё только не пробовал, при этом фпс более 120....), а именно в "нелинейности" поведения, каких то "лаганиях" непонятных, задержках в реакции на стики...
Как только привязываю - всё становится адекватно!
К стати, вот ещё один эффект на ноуте присутствует забавный http://www.heli-spb.ru/forumheli/index.php?topic=4918.msg80688#msg80688
-
Видимо по разному работает. У меня проблема в Фениксе решилась установкой v-sync и в симе, и в драйверах. До этого тоже был неадекватен.
Я думал что только у меня такая фигня. У меня же этот, как его... CrossFireX - две карты на 3D используются. Оказывается это у многих так. :D
Спасибо за инфу. Как привязывать процесс к ядру в виндовс, я как-то не знал.
-
Странно. Никакой разницы. 7х64 I7 - всё идеально работает как не переставляй приоритеты и процы .
-
Вообще-то привязка к процессору - это сугубо индивидуально. Мне, например, это бесполезно делать - стоит голая винда (даже руссификации нет) для Феникса и Солида. Из внешних раздражителей - сетевая карточка. Для меня аффинити ничего не решит.
Кстати, Александр, можно еще и с приоритезацией процесса поиграть (realtime, priority 24, high, priority 13, normal, priority 8
low, priority 4, abovenormal 10 (Windows 2000 only), belownormal 6 (Windows 2000 only)).
V-SYNC на современных карточках я вообще толком не понимаю, как работает ;)
-
Ребят, тут вся "фишка" в том, что сим НЕ заточен под много поточность выполнения.
(таких программ пока, реально - единицы, грамотно сделанных)
От этого, начинают проявляться разные эффекты, типа конкуренции за нитки в кеше, холостые вытеснения и прочее.
Сильно зависит от конфига, объёма кеша, наличия других процессов и прочих факторов.
Но, упрямая практика говорит однозначно: если не хотите "непоняток", (особенно связанных с реалтаймом, коим является ввод данных с пульта), то однопоточное приложение должно работать - в одном потоке :D
-
Ребят, тут вся "фишка" в том, что сим НЕ заточен под много поточность выполнения.
(таких программ пока, реально - единицы, грамотно сделанных)
Но, упрямая практика говорит однозначно: если не хотите "непоняток", (особенно связанных с реалтаймом, коим является ввод данных с пульта), то однопоточное приложение должно работать - в одном потоке :D
Не обольщайся, говоря реалтайм в контексте винды ;) Это очень условное и спорное понятие. В целом - я согласен с выводами. Но - как ты и написал - сугубо индивидуально :)
А что за процессор, если не секрет - так, для сведения - современные процессора (я говорю про Intel) имеют очень небольшием накладные расходы на перегрузку контекста (ну или кроссколл)? У вопроса, собственно, ноги растут из т.н. "мега"-технологии Hyper Threading, убогой поделки от Интела - которую в общем случае на старых "камнях" лучше попросту отключить. Современный CMT (ok, HT, если угодно) имеет другую архитектуру и действительно улучшает утилизацию конвеера процессора. Как-то так - технически ;)
-
Я не питаю никаких иллюзий, в отношении винды :D Слава богу, в своё время работал на машинах заточенных именно под реалтайм.
Винда безусловно к реал-тайму отношения не имеет никакого. Но ситуация с много-ядерностью только усугубляет эту ситуацию, приводя к полному рассогласованию временных задержек.
Был и коре 2 дуо как он там..., сечас core i3 ...
Дело не столько в проце, хотя и это играет роль. Дело в большей степени в программах (и програмистах ;) ), и кеше который занимают данные.
Если данные не попадают в кеш - время работы (перезагрузки кеша) резко возрастает.
Вот и получается, что часть приложения исполняется быстро, а часть - тормозит.
Драйвак видео - жрёт память (сидит плотно), а драйвер ввода с шины юсб - должен каждый раз "всасываться".. для обработки ввода.
Вообще, в Фениксе в частности, ФПС - почти не отражает реальных "тормозов". У меня на слабой машине может быть стабильные 60 ФПС, а при этом тупит так, что мама не горюй! Летать невозможно. Обычно это именно "подтормаживания", кратковременные, но очень неприятные.
-
Был и коре 2 дуо как он там..., сечас core i3 ...
Дело не столько в проце, хотя и это играет роль. Дело в большей степени в программах (и програмистах ;) ), и кеше который занимают данные.
Если данные не попадают в кеш - время работы (перезагрузки кеша) резко возрастает.
Вот и получается, что часть приложения исполняется быстро, а часть - тормозит.
Драйвак видео - жрёт память (сидит плотно), а драйвер ввода с шины юсб - должен каждый раз "всасываться".. для обработки ввода.
ну, факты - это ДА O0
-
Винда безусловно к реал-тайму отношения не имеет никакого.
Александр,мнится мне что наши "реалтаймы" настолько в глубокой оппе ,по сравнению с реальными прерываниями в любом проце,начиная с 12 серии,что рассуждать об этом,как минимум вводить в заблуждение соратников, к сожалению не все адекватно определяют реалтайм ,без кавычек работы процессора,чаще всего путают ,процу к великой радости есть чем заняться ,кроме нашей заботы,чаще всего прерывания по сети,его тормозят, :(
-
Ну я почти все понял ;) Сетевая карточка поддерживает поллинг, что резко снижает сетевую нагрузку - если в фоне не крутить торренты (либо что-то иное с массивной сетевой нагрузкой, характерной для домашней машины) - в расчет можно не брать. Тем более - по поводы о..ы на многоядерной система - прерывания на этапе загрузки жестко привязаны к ядру (потоку), так что можно удачно выбрать ядро ;)
В общем - по теме - в win xp на mbp 2010 - привязка к CPU и подъем приоритета (до т.н. реального времени) дало порядка 190-210 кадров (против обычных 150-170), что в целом добавило гладкости (smoothing) приложению.
-
Не настаиваю,но кадры нужны скорее всего монику,а не нам,если его частота обновления не совпадает,с тем что предоставил сим-жди прерываний,не факт что они совпадут ,скорее где-то дернется разок-другой,человеку глубоко фиолетово что там меняется за пределом восприятия-10-20 гц,подсознание уловит -типа некомфорт,зрение скажет-: от..тесь,все хоккей :), а там 534 гц,или 892 гц, это всё от лукавого,у нас в сервисе наш типо дирехтор пытался ,блин отспорить у мастеров что блю -рей куда круче двд,имея на борту сжатие в 4 раза сильнее ..... :o,наивный, :P
-
нас в сервисе наш типо дирехтор пытался ,блин отспорить у мастеров что блю -рей куда круче двд,имея на борту сжатие в 4 раза сильнее ..... :o,наивный, :P
просмотр аватара на двд (оригинальном) и блюрее (аналогично) для меня расставил все точки над i.
-
Будешь смеяться,но сделано это специально,двд по умолчанию имеет ровно в 4 раза меньшее сжатие чем блюрей,запиши фильм на двд с качеством позволяющим использовать данный формат -про блюрей никто и не вспомнит ;D, единственный недостаток ,придётся прерваться во время просмотра-непомещается кино :),а запиши это кино в качестве доступном современному кинопрокату на обычную кассету VHC, в стандарте digital, и блюрей и двд будут просто рыдать в уголке ,не в силах осознать всё своё ничтожество :),9 терабайт на обычной кассете -даже несмотря на тормознутость доступа ( а можно подумать с блюрей она прям блещет скоростью ;D) это кого угодно заставит применить непарламентские методы маркетинга :D
-
Серёж, по поводу задержек.
Спорит не буду ЧТО и КАК там меняется. Успевает или нет.
Мне вполне достаточно обьективных (моих, личных) ощущений.
К стати, вполне возможно, что это ноутбучная специфика. На стационарной платформе я это не проверял.
А на ноутбуке - разница РАДИКАЛЬНАЯ. ;)
-
К стати, вполне возможно, что это ноутбучная специфика. На стационарной платформе я это не проверял.
А на ноутбуке - разница РАДИКАЛЬНАЯ. ;)
разница между настольным и ноутбуком в новых интелах только одна - более агрессивное энергосбережение - ядро процессора на ноутбуке в каком-нибудь пустом цикле будет чаще будет (как бы) засыпать, снижай частоту и энергопотребление.
-
Будешь смеяться,но сделано это специально,двд по умолчанию имеет ровно в 4 раза меньшее сжатие чем блюрей,запиши фильм на двд с качеством позволяющим использовать данный формат -про блюрей никто и не вспомнит ;D, единственный недостаток ,придётся прерваться во время просмотра-непомещается кино :),а запиши это кино в качестве доступном современному кинопрокату на обычную кассету VHC, в стандарте digital, и блюрей и двд будут просто рыдать в уголке ,не в силах осознать всё своё ничтожество :),9 терабайт на обычной кассете -даже несмотря на тормознутость доступа ( а можно подумать с блюрей она прям блещет скоростью ;D) это кого угодно заставит применить непарламентские методы маркетинга :D
Ничего не понял, если честно. BluRay в спецификации вполне поддерживает MPEG-2, наравне в VC-1. Пишем в MPEG-2, получаем тот же DVD - только объема большего. VC-1 с точки зрения восприятия - существенно лучше, чем тот же MPEG-2, при меньшем битрейте на исходном разрешении. VHS Digital - что за стандарт? У меня до сих пор где-то валяется АрВид, ну для своего времени - актуально, 3,5 Гб - ОГО-ГО. Сейчас - чих, да и только. Да и не может VHS кассета И видеомагнитофон обеспечить нужной плотности записи - это не LTO. Откуда 9 Тб взялись?
-
прародитель формата VHS фирма JVC,несколько лет назад родила очередное усовершенствование ,которое общими усилиями тети Сони и других почти удалось похоронить,они использовали тот-же алгоритм что и современные системы видеозаписи,надеялись что это будет востребованно,да не тут-то было,туда сложно встроить защиту от копирования,а блюрей по умолчанию уже проектировался как формат с улучшенной защитой от копирования,и не мпег -2 ,а мпег-4 ,тоже типа улучшенный алгоритм сжатия,типа сониевского атрак4---только видео-аудио,адаптивное,использующее феномены человеческого зрения-слуха,форматы понятно можно любые использовать,только смысл блюрей получается туманный при использовании мпег2-всегото втрое больше обьём чем двд :D,пока ленточные накопители имеют больший потенциальный обьём,простой пример камера на кассету минидв пишет 1 час записи-несжатой,с потоком 56 мбит ,цепляешь ХД камеру к телеку через кабель HDMI ,смотришь,балдеешь от картинки,особенно когда камера с большой матрицей,сливаешь на комп,создаешь диск,пофигу в каком формате,смотришь на этом-же телеке картинку и тихо фигеешь от качества блюрей :D,жаль что не все обыватели имеют такую возможность для сравнения,многие забросили-б свои крутые камеры с флешками и хдд далеко в чулан.
-
Жесткий оффтоп пошел.
Ленточные накопители отмирают как мамонты, судя по всему, это сейчас переметнулось на про-сегмент. Ну да, маркетоиды - постарались. Я убиваться не буду ;) Единственное что - BluRay авторинг мне не на чем делать - потому кроме как в плеере мне он не интересен.
-
прародитель формата VHS фирма JVC,несколько лет назад родила очередное усовершенствование ,которое общими усилиями тети Сони и других почти удалось похоронить,они использовали тот-же алгоритм что и современные системы видеозаписи,надеялись что это будет востребованно,да не тут-то было,туда сложно встроить защиту от копирования,а блюрей по умолчанию уже проектировался как формат с улучшенной защитой от копирования,и не мпег -2 ,а мпег-4 ,тоже типа улучшенный алгоритм сжатия,типа сониевского атрак4---только видео-аудио,адаптивное,использующее феномены человеческого зрения-слуха,форматы понятно можно любые использовать,только смысл блюрей получается туманный при использовании мпег2-всегото втрое больше обьём чем двд :D,пока ленточные накопители имеют больший потенциальный обьём,простой пример камера на кассету минидв пишет 1 час записи-несжатой,с потоком 56 мбит ,цепляешь ХД камеру к телеку через кабель HDMI ,смотришь,балдеешь от картинки,особенно когда камера с большой матрицей,сливаешь на комп,создаешь диск,пофигу в каком формате,смотришь на этом-же телеке картинку и тихо фигеешь от качества блюрей :D,жаль что не все обыватели имеют такую возможность для сравнения,многие забросили-б свои крутые камеры с флешками и хдд далеко в чулан.
По стандартам блюрей-видео диски нативно поддерживают mpeg2 кодек. Так же как и AVC-1, поэтому сентенции про то, что мол на двд качество видео выше - мягко говоря заблуждение :) AVC лучше мпега2 по соотношению качество\битрейт. Если одно и то же видео пожать в мпег2 и в AVC, при этом добившись одинакового размера файлов (т.е. одинакового битрейта), а потом сравнить качество, AVC будет на порядок лучше смотреться. За счет все того же улучшенного соотношения качество\битрейт.
Блюрей имеет более высокую скорость считывания по сравнению со стандартами двд-видео. Стандарт для двд если не ошибаюсь что-то около 8 мбит\с, а у блюрея порядка 32 мбит\с. Я имею в виду не предельно возможную физическую скорость считывания информации, а потолок битрейта по стандарту видео для блюрея и двд.
Разрешение видео у блюрея 1920х1080 точек. Двд видео же имеет разрешение 720х540 или 640х480, в зависимости от стандарта. Вот вам и качество... Вы как предпочитаете перед компом сидеть? Глядя в монитор с разрешением 640х480 или все-таки что-нить типа 1920х1200? :)
Видео с миниDV камеры, которое вы ошибочно принимаете за "несжатое" на самом деле очень даже покоцано. Поток несжатого видео в PAL разрешении составляет примерно 20 мегабайт (не мегабит!) в секунду.
HD видео с камеры после вашей компрессии выглядит хуже потому что:
а) все бытовые и полупроф HD камеры используют внутреннюю компрессию видео, частенько в мпег4 или AVC, кстати ;)
б) непонятно чем конвертировалось видео при "создании диска"
в)непонятно какие кодеки использовались непонятно с какими параметрами. Ну вы поняли. ;)
г) Компрессия компрессированного ранее видеоматериала дает большое количество артефактов. Поэтому все студии, работающие с видео стараются иметь дело с _некомпрессированным_ материалом. У нас, к примеру, один кадр видео весит порядка 12 мб, а поток получится 12х25 мб :) Это, естественно, внутристудийные форматы, и наружу мы отдаем компрессированное видео с человеческим битрейтом
И вообще, комплекс для профессионального мастеринга и авторинга двд или блюреев стоит несколько сотен тыщ долларов. Програмки из интернета по полтора мега, которые типа конвертят видео в блюреи-двд - туфта. Энкор такая же туфта, но от производителя с именем :)
Оффтоп закончил :)
По теме: Периодически подлагивает феникс. Системы как-то не заметил. Иногда есть ощутимая задержка в реакции на стики, иногда ее нет. Попробуя с ярлычками провернуть фишку, мож получшеет...
-
V-sync в видео драйвере включите, если еще не включен.
-
Сорри если не в тему. Чтоб не создавать новую спрошу тут. Нигде не нашел.
В аэрофлае идл работает а в фениксе нет. Что может быть? может где галочку поставить надо?
-
В настройке каналов - есть пункт IdleUP - его можно забиндить на канал или на кнопку ))
[attach=#]