Эпиграф.
Берем таракана. Ставим его на стол, хлопаем в ладоши – таракан убегает. Ловим его, отрываем ему половину ножек. Ставим на стол, хлопаем в ладоши - таракан убегает. Ловим его, отрываем половину оставшейся половины ножек, ставим на стол, хлопаем в ладоши – таракан убегает. Ловим его, отрываем оставшиеся ножки. Ставим на стол, хлопаем в ладоши – таракан остается на месте. Вывод – таракан без ног не слышит.Значит так, мы будем проводить эксперименты. Для этого у нас есть КСП как таковая и кучка модов. Задача – изучаем
объем пожираемой памяти и фиксируем
время загрузки. Цель – выяснение лимитов.
Несколько слов до начала. Итак, мы знаем что КСП сделано на ЮНИТИ, которое в свою очередь суть 32-битное приложение и следовательно ограничено в использовании оперативной памяти примерно в 3.5 Гб. Иначе приходит
Краш. На самом деле при старте игры памяти должно быть занято значительно меньше, ибо мы ведь еще собираемся совершать какие то телодвижения, конструировать ракеты, лететь куда и все такое. Следствием установлено что для относительно безопасной и безвылетной игры памяти на сцене в СпейсЦентре должно быть занято менее 3Гб.
Для опытов у нас есть компьютер на стареньком и7 2.8 ГГц, 32 Гб оперативки, Видяшка АМД радеон 7900 какая то с 3 Гб памяти, ССД Корсар и НДД Сигейт возрастом около года каждый. Все это под Виндовс 8.1.
Также нам известно 5 способов борьбы с пожиранием этой игрой оперативной памяти, некоторые из них в ходе исследования мы применим.
Стартовые параметры эксперимента – текстуры фуллРезолюшн, текстур паков нет, модов нет. Лежим на ССД. В Геймдате только папка Сквад. Дальнейший ход эксперимента подразумевает постепенное добавление модов, начиная с безпартовых (т.е. тех, которые предусмотрены для изменения геймплея), и с постепенным переходом на паки деталей. Добавлять их я буду со своей точки зрения об их полезности и юзабельности, сложившейся у меня за последние пару месяцев. Надеюсь, что почтеннейшая публика по названию модов сама поймет о чем речь.
Измеряемых параметров у нас три: объем папки ГеймДата, время загрузки до экрана выбора сейва, Объем занимаемой оперативной памяти на первой сцене (СпейсЦентр).
XXX-YYY- ZZZ (Мб-Мин:сек-Мб) Итак приступим.
1. Запускаем ванилу. Ванила – суть голая игра как есть, т.е. то что мы получаем от разработчика.
802 – 1:15 – 1530Ога, а теперь ради интереса тоже самое с текстурами халфРезолюшн. Это первый способ борьбы с объемом отжираемой оперативки.
802 – 1:15 – 1145.Вывод – крутизна
пациента текстур на скорость
пули загрузки не влияет, однако оперативки мы кушаем зело меньше.
Ради интереса был проведен аналогичный эксперимент с загрузкой с ХДД. Результат поразителен – разницы практически не обнаружено.
Интересно это у меня ССД такой медленный или ХДД такой быстрый?Вэлл, возвращаем текстур фуллРезолюшн и переходи ко второму этапу.
2. Добавляем набор полезных и неоходимых каждому ДЛЛ: CleverBobCat Modulefixer ModuleManager_1_5_6 PartHighlighter PreciseNode ShipStatePlugin. Общий вес – жалкие 280 Кб.
802 – 1:17 - 1554Ога, прямой корреляции между объемом добавленных ДЛЛ и увеличением отжираемой оперативки – необнаружено. Хотя – в качестве объема оперативной памяти приводится среднее значение, ибо ее объем имеет свойство «прыгать» в пределах нескольких процентов.
3. Мод Clouds and City lights. Вес – 56Мб. Хотя с моей точки зрения сити лайтс в данном комплекте абсолютно лишние. Собственно удаление лишнего – это второй из известных мне способов борьбы с пожиранием оперативной памяти.
858 – 1:26 – 1943Хм. Опять корреляции между объемом на диске и увеличением оперативной памяти не наблюдается. Ах да! Это же текстуры. Они у нас изначально пакованы, а в оперативной памяти имеют свойство распаковываться, заразы.
4. Пачка маленьких, но очень полезных модов. Toolbar, Advanced group manager, Crew Manifest, Mission Controller Extended, RCS Build Aid, RCS sound, Targetron, Protractor. Общий вес чуть менее 2 Мб.
860 – 1:27 – 1955Ну что ж, время загрузки и объем занимаемой памяти увеличились не сильно. Идем дальше.
5. Пак Vanguard. Что делает – аллах его ведает. Говорят добавляет парашюты для EVA. Но его ДЛЛ частенько используют другие моды. Общий вес 5.5 Мб.
865 – 1:28 – 19656. Добавим еще пачечку полезной мелочевки. Achievements, TacFuelBalancer, TacPartLister, TacSelfDestruction, Fusebox, Chatterer. Общий вес всего этого добра 9.5M
875 – 1:31 – 2020
7. Добавим мод, из-за которого наверное больше всего религиозных войн ведется. Вы догадались – это MechJeb. Вес 8.25 Мб.
883 – 1:33 – 20758. Теперь Engeneer. Вес – 5 Мб.
892 – 1:37 – 21009. Пара модов повышения реалистичности. DeadlyReentry и EngineIgnitor. Вес 5.5 Мб.
898 - 1:38 – 211010. Мод ProceduralFairings. Весьма юзабельная штука со многих сторон. Вес 7.2 Мб.
905 – 1:39 – 213011. Мод картографирования SCANsat. Вес 12.5 Мб.
917 - 1:40 – 2210Мод хитрый. В процессе своей деятельности формирует карты планет, которые в памяти занимают все больше и больше места. Сюда был вставлен мод с исследованной системой Кербина. (Кербин, Мун, Минмус).
12. Мод RomfarerLazor. Масса вкусностей, вес которых 11 Мб.
928 - 1:42 – 2250За дюжину итераций мы вставили чуть более 120 Мб модов (прирост дискового объема в районе 15%), увеличив объем занимаемой оперативной памяти на 730 Мб. (почти на половину от первоначального). Однако – тенденция.
13. Еще пара модов повышения реалистичности ASMILifeSupport и Realchute общим весом 12 Мб.
939 – 1:44 – 226014. Очередная порция небольших, но очень забавных модов. AlternativeResourcePanel, AlarmClock, AviationLights, InternationalFlags, Firespitter, enhancedNavBoll, wheelSound, NavBoldockingIndicator. Общий вес 3Mб.
943 – 1:48 – 2263Мда-с. Все это нам мало что дает. И тем не менее следуем намеченным курсом. Мы тупые, но упорные.
15. Мод весьма спорный - RemoteTech2. Тем не менее с него мы начинаем добавлять уже не мелочь, а относительно крупные моды. Вес 29 Мб.
972 – 1:50 – 229316. Мод KerbalAttachmentSystem. Вес 33Мб.
1004 – 1:52 – 233417. Моб Kethane. Вес 94 Мб.
1098 – 1:55 – 242418. Пора переходить к пакам деталей. Мой самый любимый мод – FASA. Техника 60х годов. Вес 150 Мб.
1248 – 2:20 – 2929Упс. Вот и первый большой скачок. Однако мы уже на грани по пожиранию оперативки.
19. Мод стилизованных под сток деталей. Конечно же – это KSPX (50 Мб.). И в довесок TAL SphericalToroidalTanks. Общий вес 64 Мб.
1299 – 2:24 – 3030Так-с. Мы уже в опасной зоне. Но игра пока держится.
20. Весьма известный мод деталей KWRocketry, весом аж 210 Мб.
1510 – КРАШ!Ну вот. Мы и добились чего хотели. Пора применить один из известных нам методов снижения аппетита игры. На этот раз мы применяем переключение настройки загружаемых текстур в ХалфРезолюшн. И, помолясь, снова смело запускаем нашу игру. Бинго!
1510 - 2:41 – 2389Однако – работает! Зрительное падение качество глаз вроде не вырывает. Играть с удовольствием еще можно. Однако уже ясно, что переключение на КвартРезолюшн ни к чему хорошему в ключе зрительного восприятия не приведет.
Итак, почти полтора гигабайта геймдаты, из которых 90% текстуры – приводят игру к лимиту выносливости в максимальных настройках. Отношение дискового объема к объему занимаемой оперативки чуть более 2.1 в пользу оперативки.
21. Однако нам известен еще и третий метод борьбы с аппетитом игры к памяти. А именно – текстурный компрессор, который заставляет игру переосмыслить кодирование графической информации уже напрямую в оперативке. TextureCompressor.dll версии 1.1 и весом в 6 Кб. Применим его прямо сейчас, в режиме ХалфРезолюшн.
1510 – 2:42 - 2267.А теперь обратно в режим Фулрезолюшн.
1510 – 2:48 – 3125Небольшое увеличение времени загрузки, но просто гигантское – пожираемой памяти. Однако мы все же запустили игру. Но памяти она все ж занимает слишком много, и мы под угрозой КРАШа в любой момент. Поэтому все дальнейшие действия решено проводить в режиме половинного качества текстур. Там нам еще есть где разгуляться.
22. Пришла пора тяжеловесов. B9aerospace – весьма спорный, но красивый пак деталей, весом аж 452 Мб с текстурами высокого разрешения.
1962 – 3:10 – 2448Опять серьезный рывок вперед по увеличению времени загрузки. Но это еще терпимо. Ваш покорный слуга где то слышал, что у некоторых эстетов игра грузится по 10-15 минут. Интересно, как это? Но я думаю, до этого мы не дойдем.
23. Опять ракетные детальки. На этот раз NovaPunch2, весом в 180 Мб. А вот результат.
2140 – 3:33 – 2656Упс. Время загрузки с каждым следующим шагом сильно увеличивается. Зато память пока в пределах нормы.
24. Пак расширения функционала – MagicSmokeIndastries Infernal Robotics. Вес все этой шевелящейся машинерии – 70 Мб.
2210 – 3:36 – 269225. И вот у нас юбилейный, двадцатьпятый шаг. Ту надо сделать что то посерьезнее. Встречайте – Sovietpack с кучей советской техники прошлого века, от Востока до Бурана и весом аж 740 Мб. Это будет серьезный удар по игре. Наверное.
2950 – 4:04 – 2999Подбираем челюсть с пола. Она выдержала! И даже еще играбельна. Объем на диске и объем занимаемой оперативки практичсеки сравнялись. Продолжаем измываться.
26. Добавим чего-нибудь весом этак мегабайт в 100. Мой выбор пал на StationScience, HullCameraVDS, Ltech и самодельный набор из дюжины научных сенсоров, чтоб догнаться до нужного веса.
3050 – КРАШ!Ога. Суду все ясно. Пришло время применить четвертый известный нам способ борьбы с размером занимаемой оперативной памяти. А именно – это текстурные паки пониженного разрешения. Не очень я этот способ люблю. Однако деваться некуда, любопытство разбирает, и было решено надругаться над модом B9. С помощью вложенного изначально текстурного пака мы понижаем его объем на диске с чудовищных 452 Мб до вменяемых 112 Мб. Т.е. почти в 4 раза.
2710 – 3:43 – 2792Мы имеем откат времени загрузки и вполне вменяемую занимаемую оперативную память, оставляющую нам пути к дальнейшему
онанизму экспериментированию.
27. Еще один тяжелый пак Lazteck, с моделями техники SpaceX от ракет до пилотируемых кораблей. Вес 240 Мб.
2950 – 3:52 – 2855Она (игра) все еще держится.
28. Добавим еще один достаточно известный пак деталей – AEIS. Вес – 75 Мб.
3025 – 4:08 – 2975.За последние две итерации мы видим, что на диске ГеймДата занимает уже больше чем ее распакованное состояние в оперативке. Чудо сие великое есть.
И мы снова в лимите безопасного объема оперативной памяти.
За сим с вами прощаюсь.
Кто сможет пусть сделает больше.
Аминь.