ку в патче 1.60 появилась возможность указать модель рапределения памяти игрой в дебри не полезу, просто скажу что более другая модель может избавить от тормозов, поднять фпс, избавить от вылетов ну и всякое такое задается параметром коммандной строки -malloc после патча в каталоге игры появилась папочка dll вот в ней и лежат все "ядра" так сказать в данный момент там имеется:
также там имеется файлик ридми, в котором дадены ссылки на каждое ядро, кто делал и чего в ем такого если у вас и так все хорошо то в принципе можно забить и ничего не трогать, ну только ради экспиримента а непосредственно цеплять то или иное ядро так например: ArmA2OA.exe -malloc=tbb4malloc_bi тоесть имя .dll из каталога dll без расширения возможно когото сменя ядра избавит от глюков, вылетов и тому подобного энджой
Сообщение отредактировал КИЦУНЯ - Понедельник, 20-Февраля-2012, 10:44
КИЦУНЯ, это все хорошо, я понимаю, что нам нужно экспериментировать? Да еще не маловажная вещь, необходимо периодически высвобождать оперативную память, у меня на серве, как раз стоит программа, которая может высвобождать оперативную память, при чем она настраивается, например по времени или по использовании, это я в интернете нашел на википедии:
Динамическое распределение памяти — способ выделения оперативной памяти компьютера для объектов в программе, при котором выделение памяти под объект осуществляется во время исполнения программы.
При динамическом распределении памяти объекты размещаются в т.н. «куче» (англ. heap): при конструировании объекта указывается размер запрашиваемой под объект памяти, и, в случае успеха, выделенная область памяти, условно говоря, «изымается» из «кучи», становясь недоступной при последующих операциях выделения памяти. Противоположная по смыслу операция — освобождение занятой ранее под какой-либо объект памяти: освобождаемая память, также условно говоря, возвращается в «кучу» и становится доступной при дальнейших операциях выделения памяти.
По мере создания в программе новых объектов, количество доступной памяти уменьшается. Отсюда вытекает необходимость постоянно освобождать ранее выделенную память. В идеальной ситуации программа должна полностью освободить всю память, которая потребовалась для работы. По аналогии с этим, каждая процедура (функция или подпрограмма) должна обеспечить освобождение всей памяти, выделенной в ходе выполнении процедуры. Некорректное распределение памяти приводит к т.н. «утечкам» памяти, когда выделенная память не освобождается. Многократные утечки памяти могут привести к исчерпанию всей оперативной памяти и нарушить работу операционной системы.
Другая проблема — это проблема фрагментации памяти. Выделение памяти происходит блоками — непрерывными фрагментами оперативной памяти (таким образом, каждый блок — это несколько идущих подряд байтов). В какой-то момент, в куче попросту может не оказаться блока подходящего размера и, даже, если свободная память достаточна для размещения объекта, операция выделения памяти окончится неудачей.
Для управления динамическим распределением памяти используется «сборщик мусора» — программный объект, который следит за выделением памяти и обеспечивает её своевременное освобождение. Сборщик мусора также следит за тем, чтобы свободные блоки имели максимальный размер, и, при необходимости, осуществляет дефрагментцию памяти.
malloc (от англ. memory allocation, выделение памяти), calloc (от англ. clear allocation, чистое выделение памяти) realloc (от англ. reallocation, перераспределение памяти). free (англ. free, освободить)
ну для сервера (каек в ридми сказано) особого эффекта нету, это в основном для клиента но в целом да, надо экспириментировать, сколько отзызвов читал, у одного рулит вот это ядро, а у другого с этим лютые тормоза и глюки и рулит совсем другое...
по дефолту стоит универсальная, бис-овая модель, подходит для всех, но в силу этого, не использует спицифических возможностей того или иного процессора но мы то знаем какой у нас камень, и можем ручками указать наиболее подходящее ядро для него, которое будет работать по полной, используя все возможности камня
Сообщение отредактировал КИЦУНЯ - Понедельник, 20-Февраля-2012, 11:44
Этот параметр может быть полезным для многоядерных процессоров, чтоб загрузка геометрии, текстур и файлов выполнялась в отденьных (параллельных) потоках?
Сейчас мониторил загрузку процессора и вот какая картина: 1,2,3,4, - это ядра процессора, если а2 сажаю на 1 и 2 ядро, то получается что ядро 1 загружено примерно на 50%, а ядро 2 на 98%, сделал крест, посадил арму на 1 и 3 ядро, сразу нагрузка стала равномерной, в среднем 60-70%, соответственно, А2 СО посадил на 2 и 4.
С процем разобрался, а вот выбор распределения памяти результата не дает вообще, а вот это tcmalloc_bi.dll вообще пишет что отсуствует, так что с чем связаны сильные лаги нас ерве не пойму, осталось только еще настройка сетй TCP\IP, при чем совсем недавно, до выходы патча 1.60 более менее было все нормально