Перейти к содержимому


Фотография

Способы для облегчения карт от ненужных объектов.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 70

#41 OFFLINE   Maxyzzz940

Maxyzzz940

    Рядовой

  • Пользователи
  • 20 сообщений

Отправлено 21 July 2015 - 07:04

Так что хрен редьки не слаще!

Закрадывалась такая мысль.

И ещё, статичный объект, он и в Африке статичный. много он не заберёт. Больше заберёт один сарай вместо 100 стульев.

100 стульев заберут больше, что-то мне подсказывает.
Несмотря на размер, складывается впечатление, что полигонов у стула больше, чем у сарая. Я так понимаю, что профнастил из которого эти сараи собраны, сделан при помощи шейдеров и height-mapping'a... А вообще, надо проверить.

Это мы не будем использовать скриптинг! А будем немножко создать новый класс карты, например Алтис, но уже без зайцев. Уточню, именно новый класс карты, а не париться с переконфигурацией уже объявленного класса. И преспокойно играть без дичи, и без всякого скриптинга.

Это уже мод выходит, как я понимаю. :)

Видимо мне (и любому другому желающему повысить свой фпс) поможет лишь смирение) Спасибо за скрипты

А мы все уже... Давным давно пришли к смирению. Это же BIS'ы. :)

Сообщение отредактировал Maxyzzz940: 21 July 2015 - 07:16

  • 0

#42 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 21 July 2015 - 19:53

 

100 стульев заберут больше, что-то мне подсказывает.
Несмотря на размер, складывается впечатление, что полигонов у стула больше, чем у сарая. Я так понимаю, что профнастил из которого эти сараи собраны, сделан при помощи шейдеров и height-mapping'a... А вообще, надо проверить.

В данном случае я не утверждаю истину, и цифра от балды. всё это можно обкатать на виртуальной карте, уверен, это даст самый достоверный результат, в том числе и по цифрам.

Сравнивая стул с сараем, я имел ввиду, что на сарай навешано больше функционала. А стул, он и в Африке стул!).

 

 

Это уже мод выходит, как я понимаю.

Выходит, да для себя любимого это не проблема! так ведь?


  • 0

#43 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 21 July 2015 - 21:44

Поразвлёкся я тут не много.

Впечатления? Неопределённые!

 

Открываете в редакторе виртуальную карту, ставите юнита, в инит юниту лепите поочерёдно следующее

0 = [] spawn {
	_counter = 0;
    for "_i" from 1 to 1000 do {
        _script = position (allUnits select 0) spawn {
		
            createVehicle [
                "Land_Loudspeakers_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};
0 = [] spawn {
	_counter = 0;
    for "_i" from 1 to 1000 do {
        _script = position (allUnits select 0) spawn {
		
            createVehicle [
                "Land_GarbageBags_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};

Далее обращу внимание, при спавне объектов будет жёсткая просадка фпс, это из за этого куска кода

		while {_loop} do {
			_places = selectBestPlaces [position player, 200, "houses - 1", 1, 10];
			if (count _places > 0) then {
				{
					_testpos = _x select 0;
					if (player distance _testpos > 30) then {
						_pos = _testpos;
						_loop = false;
					};
					if !(_loop) exitWith {};
				} foreach _places;
			};
		};

сдесь производится поиск позиций в достаточно хардкорном режиме, а так как это не игровой процесс, то пофигу), после спавна всех объектов фпс уйдёт в форсаж.

 

И так, далее

0 = [] spawn {
	sleep 3;
	_counter = 0;
	
    for "_i" from 1 to 1000 do {
		
		_pos = [];
		_loop = true;
		while {_loop} do {
			_places = selectBestPlaces [position player, 200, "houses - 1", 1, 10];
			if (count _places > 0) then {
				{
					_testpos = _x select 0;
					if (player distance _testpos > 30) then {
						_pos = _testpos;
						_loop = false;
					};
					if !(_loop) exitWith {};
				} foreach _places;
			};
		};
		
        _script = _pos spawn {		
            createVehicle [
                "Land_Garbage_square5_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};
0 = [] spawn {
	sleep 3;
	_counter = 0;
	
    for "_i" from 1 to 1000 do {
		
		_pos = [];
		_loop = true;
		while {_loop} do {
			_places = selectBestPlaces [position player, 400, "houses - 1", 1, 10];
			if (count _places > 0) then {
				{
					_testpos = _x select 0;
					if (player distance _testpos > 30) then {
						_pos = _testpos;
						_loop = false;
					};
					if !(_loop) exitWith {};
				} foreach _places;
			};
		};
		
        _script = _pos spawn {		
            createVehicle [
                "Land_Cargo40_grey_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};
0 = [] spawn {
	sleep 3;
	_counter = 0;
	
    for "_i" from 1 to 1000 do {
		
		_pos = [];
		_loop = true;
		while {_loop} do {
			_places = selectBestPlaces [position player, 400, "houses - 1", 1, 10];
			if (count _places > 0) then {
				{
					_testpos = _x select 0;
					if (player distance _testpos > 30) then {
						_pos = _testpos;
						_loop = false;
					};
					if !(_loop) exitWith {};
				} foreach _places;
			};
		};
		
        _script = _pos spawn {		
            createVehicle [
                "Land_i_Garage_V1_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};
0 = [] spawn {
	sleep 3;
	_counter = 0;
	
    for "_i" from 1 to 1000 do {
		
		_pos = [];
		_loop = true;
		while {_loop} do {
			_places = selectBestPlaces [position player, 400, "houses - 1", 1, 10];
			if (count _places > 0) then {
				{
					_testpos = _x select 0;
					if (player distance _testpos > 30) then {
						_pos = _testpos;
						_loop = false;
					};
					if !(_loop) exitWith {};
				} foreach _places;
			};
		};
		
        _script = _pos spawn {		
            createVehicle [
                "Land_i_House_Small_01_V1_F",
                _this,
                [], 
                0, 
                "NONE"
            ];
        };
        waitUntil {scriptDone _script};
		_counter = _counter + 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
    };
	
	while {true} do {
		sleep 1;
		hintSilent format["FPS: %1 - Obj: %2", round(diag_fps), _counter];
	};
};

При тестах нужно учитывать что это виртуальная карта, можно сказать, пустое ни что. На ней нет массы того что потребляет не мало ресурсов. Я не о объектах.

За то результат, можно сказать чистейший из возможных.

 

Так что тестим, меняем параметры, меняем объекты для экспериментов, и делаем каждый свои выводы.

А надо ли оно всё это!

 

На сколько я в танке, современные движки не отрисовывают то, что не попадает в камеру.

А вот реал виртуалити, не современный движок!


  • 0

#44 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 21 July 2015 - 21:56

ЗЫ

Блин, а я не мог сразу догнать что за фигня, только сейчас понял, замените эту строку

_places = selectBestPlaces [position player, 400, "houses - 1", 1, 10];

на так

_places = selectBestPlaces [position player, 400, "1 - houses", 1, 10];

  • 0

#45 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 22 July 2015 - 00:14


Сравнивая стул с сараем, я имел ввиду, что на сарай навешано больше функционала. А стул, он и в Африке стул!)

Дорогой товарищ, какой еще функционал в сараях, объясните пожалуйста? 

Я знаю что у сараев нет открываемых дверей, нет разрушаемости. По мне различие лишь в количестве полигонов.

Оба объекта статичны.

 

 

 


Поразвлёкся я тут не много. Впечатления? Неопределённые!

 

Это что за страшно-колдовской код? Это уже пугает своими размерами. 

Я представить не могу что это делает. Объясните пожалуйста


Сообщение отредактировал mickeymen: 22 July 2015 - 00:16

  • 0

#46 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 22 July 2015 - 00:48

Я представить не могу что это делает. Объясните пожалуйста

 

Дружище! Я вроде как не на иврите излагал!

В том числе что и как с этим делать. 

 

ЗЫ

Поочерёдно это значит по не всё сразу, это тоже не на иврите).

Я кому выложил код, блоками?


 

Дорогой товарищ, какой еще функционал в сараях, объясните пожалуйста? 

Конфиг вам в руки, дорогой товарищ!)


Сообщение отредактировал SteelRat: 22 July 2015 - 00:46

  • 0

#47 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 22 July 2015 - 11:23

SteelRat, Я пробовал вставлять поочередно ваши блоки скриптов и каждый раз смотрел что происходит, cовершенно не ясно что вы хотели доказать этим тестом. Даже если тест говорит о чем либо, то выполнен он не в игровом пространстве а в пустой виртуальной реальности и посему результаты не могут быть полезны. Объекты вокруг игрока прибавлялились с каждым разом по 1000 и производительность в итоге падала. Ну это собственно говоря, дорогой коллега это и ежу понятно. Было Очень утомительно ждать каждый раз, когда же 1000 объектов добавится к игроку. 

Кстати вы предупреждали о жесткой просадке FPS, после добавления третьего по счету(с начала) блока:

 


Далее обращу внимание, при спавне объектов будет жёсткая просадка фпс, это из за этого куска кода
у меня этого не случилось.
Лишь ближе к концу, (когда я вставил третий с конца блок!) у меня жестко просел FPS. Это было лишь при загрузке объектов. Когда загрузка кончилась ФПС пришел к 75 ти. 
 

 


Так что тестим, меняем параметры, меняем объекты для экспериментов, и делаем каждый свои выводы. А надо ли оно всё это!
Надо ли будет зависеть от конкретных миссий. Если игрок хочет сделать бой в большом городе, с участием более 100 пехотинцев, тогда надо. А В обычных случаях каждый решает сам.
Мы конечно можем проводить множество тестов, однако количество объектов в карте, будет всегда иметь влияние на производительность.

Сообщение отредактировал mickeymen: 22 July 2015 - 12:03

  • 0

#48 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 22 July 2015 - 18:35

 

cовершенно не ясно что вы хотели доказать этим тестом

 

Так что тестим, меняем параметры, меняем объекты для экспериментов, и делаем каждый свои выводы.

А надо ли оно всё это!

 


 

Объекты вокруг игрока прибавлялились с каждым разом по 1000 и производительность в итоге падала.

Сударь! Уж простите! Я постоянно забываю, что вы не пользуетесь логикой!

Вставляете в инит юнита один образец, после спавна объектов наблюдаете фпс.

Завершаете миссию, вставляете очередной блок кода, спавнящий другие объекты, и снова просмотр.

 

Пошёл я от сюда, я фигею, блин!


  • 0

#49 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 23 July 2015 - 03:00


Пошёл я от сюда, я фигею, блин!

 

Дружище не злитесь на меня, я ценю ваш талант)


  • 0

#50 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 23 July 2015 - 14:16

Сударь! Уж простите! Я постоянно забываю, что вы не пользуетесь логикой!

 

Дорогой друг, я не пользуюсь ВАШЕЙ логикой, я пользуюсь своей. 

Вероятны вы всегда хотите, чтобы я или иной оппонент пользовался только вашей логикой, угадывал ваши мысли, думал так же, как думаете вы.

Это невозможно.

 

 

Вставляете в инит юнита один образец, после спавна объектов наблюдаете фпс.

Завершаете миссию, вставляете очередной блок кода, спавнящий другие объекты, и снова просмотр.

 

 

 

Каждый ваш блок добавляет по 1000 объектов в виртуальную реальность. Вот посудите зачем? Изначально Я призывал изымать объекты и смотреть на фпс, нежели добавлять их. Ваш тест казался бы более-менее логичным в противном случае, если я бы хотел добавлять объекты к игре.

Да и то сомнительным, т.к. тест проходит в Виртуальной реальности а не в самой игре.


  • 0

#51 OFFLINE   Maxyzzz940

Maxyzzz940

    Рядовой

  • Пользователи
  • 20 сообщений

Отправлено 24 July 2015 - 13:06

На сколько я в танке, современные движки не отрисовывают то, что не попадает в камеру. А вот реал виртуалити, не современный движок!

Необходимо уточнять по-поводу RV, можно найти я думаю...
А вообще, первый такой движок, если я не ошибаюсь, был Unreal, он 1998-го года рождения. Судите сами.

Да и то сомнительным, т.к. тест проходит в Виртуальной реальности а не в самой игре.

Как раз наоборот, почему написал SteelRat.

При тестах нужно учитывать что это виртуальная карта, можно сказать, пустое ни что. На ней нет массы того что потребляет не мало ресурсов. Я не о объектах. За то результат, можно сказать чистейший из возможных.

И путь, по-которому SteelRat идет, максимально чистый. Единственное, я бы еще поигрался с консолью отладки, что при просмотре находится в глав. меню (esc).

Сообщение отредактировал Maxyzzz940: 24 July 2015 - 13:08

  • 0

#52 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2015 - 13:52

Maxyzzz940, Ну по моим наблюдениям RV всё же отсекает невидимые объекты, это особенно заметно в аддонах с "кривыми" моделями, где прямо на глазах исчезают дома и деревья за объектом, но не исчезает трава, ландшафт и некоторые особо крупные объекты (Например замок на Черноруссии). Все подтормаживантя по моему мнению из-за не использования всех ресурсов: в лучшем случаи что я наблюдал у себя: 50-75% 1 ядро ЦП, 10-25% все остальные и 3 из 8 ГБ ОЗУ
  • 0

#53 OFFLINE   mickeymen

mickeymen

    Ст. Прапорщик

  • Пользователи
  • 731 сообщений

Отправлено 24 July 2015 - 13:57


Ну по моим наблюдениям RV всё же отсекает невидимые объекты, это особенно заметно в аддонах с "кривыми" моделями, где прямо на глазах исчезают дома и деревья за объектом, но не исчезает трава, ландшафт и некоторые особо крупные объекты
 

Да, я замечал такое! Я тоже так думаю что отсекает


  • 0

#54 OFFLINE   Maxyzzz940

Maxyzzz940

    Рядовой

  • Пользователи
  • 20 сообщений

Отправлено 24 July 2015 - 14:49

Maxyzzz940, Ну по моим наблюдениям RV всё же отсекает невидимые объекты, это особенно заметно в аддонах с "кривыми" моделями, где прямо на глазах исчезают дома и деревья за объектом, но не исчезает трава, ландшафт и некоторые особо крупные объекты (Например замок на Черноруссии). Все подтормаживантя по моему мнению из-за не использования всех ресурсов: в лучшем случаи что я наблюдал у себя: 50-75% 1 ядро ЦП, 10-25% все остальные и 3 из 8 ГБ ОЗУ

Для ЦП есть команда при запуске... В зависимости от типа, выставляешь... У меня i7 4770k. Т.е. 4 физических ядра, каждый из которых делится на 2 логических. Т.е. 4/8. Это нужно уточнять. Можно через диспетчер задач...
Соответственно, у меня в параметрах запуска написано:
-cpuCount=4 -exThreads=7
exThreads — Ex(tra)threads table... Что это такое, можно погуглить...[/size]
Маленькое пояснение от коммьюнити.[/size]
  • Если -exThreads=7, то процессор берёт на себя математику, загрузку текстур и файловые операции.
  • Если -exThreads=5, то берет на себя математику и файловые операции.
  • Если -exThreads=3, то берет на себя загрузку текстур и файловые операции.
  • Если -exThreads=1, то берет на себя файловые операции
От себя добавлю: — всегда идет число логических -1 для exThreads, т.е. n-1... Можно конечно при четырех логических написать 7, но корректной работы вряд ли добьетесь.
Потом еще напишу, на брифинге. :)
 
UPD
Есть еще параметры:
-maxMem=n -maxVRAM=n
-maxMem — это кол-во максимального объема используемой ОЗУ. Насколько я понял, арма больше 3гб не видит...
-maxVRAM — это макс. объем памяти видеокарты... Тут от модели зависит.
 
Ну и напоследок, есть еще парочка:
-nosplash -nologs -skipIntro -world=empty
Думаю, в пояснении не нуждаются.
 
UPD 2
Есть еще -malloc, но я его не курил. :)

Сообщение отредактировал Maxyzzz940: 24 July 2015 - 15:16

  • 0

#55 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2015 - 17:37

Maxyzzz940, если бы они работали я бы их писал, а так эффекта 0 от них (У меня)

Есть еще -malloc, но я его не курил.

Тоже пробовал играться, в некоторых случаях игра вообще крашилась спустя пару минут, в других результат не заметен
  • 0

#56 OFFLINE   Maxyzzz940

Maxyzzz940

    Рядовой

  • Пользователи
  • 20 сообщений

Отправлено 24 July 2015 - 21:43

vlad333000, у меня стабильней, ощутимо. Прогрузки быстрее за счет ЦП.
  • 0

#57 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 24 July 2015 - 21:49

Maxyzzz940, кто сказал что у меня фризит? На удивление этого арме хватает что бы выдавать нормальный фПС на моих настройках
  • 0

#58 OFFLINE   Maxyzzz940

Maxyzzz940

    Рядовой

  • Пользователи
  • 20 сообщений

Отправлено 24 July 2015 - 22:31

vlad333000, я не говорил за ФПС... :). Я говорил за скорость загрузки, подгрузок и просчетов. Да и в сети стабильнее, на том же ахое например, который сильно заскриптованный.

P.S. В любом случае, это на глазок... Да и после последнего апдейта еще разочек убили оптимизацию.

Сообщение отредактировал Maxyzzz940: 24 July 2015 - 22:34

  • 0

#59 OFFLINE   marsdeeer

marsdeeer

    Рядовой

  • Пользователи
  • 2 сообщений
  • Откуда:Новосибирск
  • Отряд:Свой

Отправлено 05 October 2016 - 13:56

Ребят а как наоборот добавить побольше мусора ?:D


  • 0

#60 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 сообщений

Отправлено 05 October 2016 - 14:33

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

,

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

.


  • 0




Яндекс.Метрика