Поразвлёкся я тут не много.
Впечатления? Неопределённые!
Открываете в редакторе виртуальную карту, ставите юнита, в инит юниту лепите поочерёдно следующее
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];
};
};
При тестах нужно учитывать что это виртуальная карта, можно сказать, пустое ни что. На ней нет массы того что потребляет не мало ресурсов. Я не о объектах.
За то результат, можно сказать чистейший из возможных.
Так что тестим, меняем параметры, меняем объекты для экспериментов, и делаем каждый свои выводы.
А надо ли оно всё это!
На сколько я в танке, современные движки не отрисовывают то, что не попадает в камеру.
А вот реал виртуалити, не современный движок!