Jump to content

xedoc

Товарищи [прем.]
  • Content Count

    610
  • Joined

  • Last visited

Everything posted by xedoc

  1. Система Гаусса, плюс, например, OpenMP. Все можно оптимизировать под мультипоток, было-бы желание. Я лично пока забросил эту игру из-за просадок. Но надежда, что исправят пока еще теплится.
  2. Вот и у меня получилось, что в игре как-бы два режима - Low и все остальные. Разница между Balanced, High и Ultra в пределах погрешности измерений.
  3. В данном случае обычное сложение матриц. Еще знаю, можно в сортировке это применить. SIMD - Single Instruction Multiple Data (Одна Инструкция Множество Данных). Эта штука за один раз позволяет сложить(разделить, умножить) сразу несколько пар значений матриц, вместо одной пары за проход. Насколько это может оптимизировать IL-2 - без понятия. Код должен быть написан особым образом, чтобы компилятор это все правильным образом оптимизировал. Есть утилиты, которые показывают - произойдет-ли оптимизация цикла в данной строке кода или нет.
  4. Я так подозреваю, что разработчики узнали о векторизации алгоритмов и SIMD А оно вроде как доступно только для 64-битных программ. Штука полезная и позволяет автоматом распараллелить вычисления даже в простых вещах вроде: for( int i = 0; i < MAX; i++ ) a[i] = b[i] + c[i];
  5. Провел еще пару экспериментов. Под AMD-видеокарты эта игра, как и в раннем доступе, слабо оптимизирована. На Низких настройках, но выкрученной на максимум дальностью земли, включенных SSAO, HBAO, 4x сглаживанием и гаммой 1.2 (потому-что иначе темно) - получаю 46.7 средний fps На любых других профилях - 36-38 среднее. В раннем доступе мне помогало уменшение дальности прорисовки деревьев на ультре, но тут этот ползунок убрали, а дальность ландшафта вообще не влияет на фпс.
  6. Я вчера зашел к концу раунда, думал записать в трек фпс у земли, на высоте, в вираже, но когда при записи увидел рекордные 7 fps - руки опустились Fraps-ом, со всеми включенными опциями, а потом файлик с посекундным FPS открыл в экселе и вставил диаграмму.
  7. Трек для тех, кто захочет сравнить. Установки игры, кстати: 1080, фулскрин, ультра, все на максимуме, vsync включен. Фрапс на 120 секунд.
  8. Прирост порядка 6% вышел: Трек: https://drive.google.com/file/d/0B8wcEpjreL0XTExUX3lvR2k2Qnc/view?usp=sharing Результаты с каталистом, с кримсоном без шейдер-кеша и с шейдер-кешем:
  9. Ничем этот L4-кеш не поможет, судя по тому, что разгон и отключение этой памяти вообще не влияет на производительность: http://www.legitreviews.com/edram-overclocking-on-the-intel-core-i7-5775c-broadwell-cpu_167425 Лучше уж брать побольше L2+L3
  10. В этой игре 4 ядра 2600k и 6 ядер 5820k практически не отличаются, при одинаковом разгоне. Интересно было-бы посмотреть на более новые процессоры вроде 6700К. В синтетике 6700 на 10% быстрее 5820k в однопоточных вычислениях (что важно для IL2 BoS): http://cpuboss.com/cpus/Intel-Core-i7-6700K-vs-Intel-Core-i7-5820K. Правда, даже если к 30 минимальным fps прибавится аж цельных 3, то это не сильно исправит впечатление :/
  11. К сожалению, даже четыре 980ti проблему не решат. Только процессор с частотой более 10GHz мог-бы помочь. И да, самый правильный тест - Normal сервер, 5-10 самолетов в поле видимости и вираж.
  12. Если будет интересно админам, могу попробовать убрать регулярный опрос RCON-а, оставить только один запрос, для определения имени сервера. Это единственная функция, которая напрямую дергает сервер. Все остальное - обычное чтение файлов. Оно тормозить сервер не может. Только тогда список игроков будет без пинга.
  13. Админы говорят, что сервера фризит из-за коммандера. Даже обычный опрос rcon-а вроде грузит сервер. Поэтому перестал им заниматься пока.
  14. 1) коммандер держит в памяти список текущих объектов. Точнее тех объектов, спаун которых передается в логах. По ходу миссии, если объект уничтожается, то это можно отследить. 2) в игру можно передавать информацию rcon-ом, через команду serverinput. Из сриптов программы можно пользоваться rcon-ом.
  15. Просто прибей файл Documents\IL2CDR\Scripts\LogParserTest.cs, видимо случайно в архив попал. Хотя почему он не может найти тип DialogResult в System.Windows.Forms - вопрос еще тот...
  16. ОК, напишу метод RotateMaps(sdsFile, prevMission)
  17. Парсер это конечно кромко сказано. На самом деле надо будет просто выдрать список карт из секции, одной строкой кода: var rotationSection = Re.GetSubString(sdsFileContent, @"\[rotation\].*?\[end\]"); Переставить местами строки с миссиями, а затем обычным String.Replace() записать обратно в файл и запустить сервер
  18. Для отдельного сервера, это можно сделать прямо в скрипте AntiFreeze.cs Для этого придется сохранять текущее название миссии, в классе Antifreeze как-то так: private string CurrentMissionFile { get; set; } public override void OnMissionStart(MissionLogEventStart data) { CurrentMissionFile = data.MissionFile; } Затем это название передавать при создании объекта таймера перезагрузки. И при перезагрузке, в зависимости от имени файла миссии подставлять необходимый sds в arguments, в вызове StartProcess(exeFile, arguments, directory)
  19. Программа просто перезапустит сервер, с тем параметром, с которым он был запущен. То-есть загрузится первая карта. Текущее название миссии у коммандера есть, но вот только проблема - как сказать серверу, что надо переключиться на указанную миссию. RCON-команды такой вроде нет.
  20. Чуть подправил антифриз, для случаев, когда DServer.exe запускается из текущей папки, вместо абсолютного пути: https://app.box.com/s/g6tmcu9tjv3eyeexf9buvhi1dqc4ofj1 Запуск из ярлыка должен работать, но у самого DServer-а есть баг. Если в пути к sds есть пробелы, то он не загрузится. Даже, если взять путь в кавычки. Поэтому надо избавляться от пробелов или использовать относительный путь, вроде ../data/normal.sds
  21. Господа, у меня карты СБ нет и вообще я немного не в РФ, поэтому удобного способа сказать спасибо, кроме форума у меня нет. VPK_CARTOON сбрасывал свои координаты, я с ним знаком лично, поэтому можете сбрасывать через него.
  22. Если для веба, то думаю прикрутить i18next попозже Это будет на странице пилота.
  23. Забыл еще добавить, что сервер будет нормально перезагружаться, только если он запущен с параметром командной строки (.sds). Но это я так понимаю стандарт у всех
  24. Добавил "Антифриз": https://app.box.com/s/g6tmcu9tjv3eyeexf9buvhi1dqc4ofj1 Скрипт следит за логами и перезагружает сервер, если событий нет больше указанного таймаута. Минимальный, рекомендуемый интервал - 35 секунд. Даже при отсутствии активности логи пишутся раз в ~30 секунд. Надеюсь любителям Normal-а больше не придется бегать на форум и просить перезагрузить полностью зависший сервер Птичка "Wait mission end (server is active but slow)" - пока не работает. Это задел на будущее. Когда добавлю мониторинг памяти и загрузки процессора - можно будет пользоваться.
  25. Не, это уже слишком . Зарабатываю я на другом. Завтра или во вторник добавлю "Антифриз" для автоматического перезапуска сервера в случае зависания. Можно еще подумать о функции, которая будет следить за потребляемым объемом памяти/процессора и перезапускать сервер в конце миссии, если значения выходят из заданных рамок.
×
×
  • Create New...