IrLED
Member-
Content Count
6 -
Joined
-
Last visited
-
Medals
Community Reputation
6 NeutralAbout IrLED
-
Rank
Rookie
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
IrLED started following Vcom AI V2.0 - AI Overhaul
-
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@shukari, i think it would be good to have possibility to improve VCOM (via github). But still it's up to author to decide. -
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@genesis92x Apparently VCOMAI/functions/VCOMAI_MoveInCombat.sqf participates to this leak with greater extent. Inner spawn doesn't exit with VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; in some cases (line 66) looks like thread trick can be substituted by call {}; scope -
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
FSM leak lots of stalled FSMs accumulating at the node "Temp_Halt" id:200 No chance for FSM leave that state if unit died/despawned along the way Proposed fix: link to "dead" check id: 24 -
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Thread leak Uncontolled growth of VCOMAI\Functions\VCOMAI_MoveToCover.sqf spawns Looks like thread may fail silently without performing VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; at the exit. At some point gave 700+ threads with ~50AI Possible fix waitUntil {VCOM_CurrentlyMoving < VCOM_CurrentlyMovingLimit}; VCOM_CurrentlyMoving = VCOM_CurrentlyMoving + 1; private _handle = _this spawn { ...ORIGINAL LOGIC (but without alteration of VCOM_CurrentlyMoving)... }; waitUntil {isNull _handle}; //spawn execution ended for whatever reason VCOM_CurrentlyMoving = VCOM_CurrentlyMoving - 1; it doubles the amount of threads (actually wrapping thread is with very light check, and not really doubles, just amount of requests + VCOM_CurrentlyMovingLimit anount actually working threads), but still it fixes growth of threads just because somehow some threads failed silently without releasing the VCOM_CurrentlyMoving -
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Another thread leak VCOMAI\Functions\VCOMAI_ArmEmptyStatic.sqf, line 17. If unit didn't get to the static (died or despawned), while loop never exits Fix if (!alive _Unit OR {(_Unit distance _Weapon) < 3}) then {_Waiting = 1}; -
Vcom AI V2.0 - AI Overhaul
IrLED replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@genesis92x Apparently there is thread leak in VCOMAI\functions\VCOMAI_Garrison.sqf line 44. If a unit is killed/despawned along the way, the thread will never end, will stay at waitUntil forever (getPos objNull equals [0,0,0]) Proposed fix while {_WaypointIs isEqualTo "HOLD"} do { waitUntil {!alive _unit OR {_unit distance _BuildingLocation < 1.3}}; if(!alive _unit) exitWith {}; //will exit outer while ... };