Announcement

Collapse
No announcement yet.

Diagnosing Strange Performance Issue : CO23_Spur_Ride_v1.takistan

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Diagnosing Strange Performance Issue : CO23_Spur_Ride_v1.takistan

    I made this post over at the BIS forums too and I'm hoping to get a response/feedback today regarding the reason for the strange performance issues.

    Hey guys,

    So I've been slaving away on my first mission and have successfully uploaded the first version to a dedicated server. What follows is an explanation of the unique performance issue affecting this mission:

    Periodically, with no overtly observable cause the mission will lag. This is not network lag, desynch of a decrease of server FPS which runs at 25-20ish fluidly throughout the mission. This is a clientside FPS drop to frames of 2-5 which lasts for a minute or more. From what I can tell something may be looping endlessly or else one of the modules I have placed on the map may be performing poorly.

    Because this performance drop sometimes occurs near the beginning of the mission, some superstitious individuals have claimed that it is because of the number of objects I have present on spawn (which is under 100 placed in the 3d editor). I have played missions with far more objects and despite the fact that the objects are close together (small base) regard the layout/design/use of objects as 'standard' for an ARMA2:OA mission.

    Some people have claimed it is because of too many AI (about 40 on map with more spawned via triggers)

    Some people have claimed it is the ambient civilians module which is active.

    I'm totally confused as to the cause of this poor performance. I am a novice at scripting and mission making but this mission (aside from the detail scripts/modules) is actually remarkably simple.

    Since I know you have a problem here with people asking for help as a code-word for asking for somebody to design their dream mission I've decided to provide a .rar with the mission files inside them so you can check it out for yourselves.

    What I'm ideally looking for is someone who knows more than I do to have a look at my files for me and/or test the mission out to diagnose the problem.

    The mission does require ACE2/ACRE so just a heads up to anybody who is willing to help me.

    Here's a link to the mission: http://www.easy-share.com/1916004722...1.Takistan.rar

    I personally suspect something is being looped in the Init that is hurting performance on JIP or possibly that there is a conflict between the ACE CSW 81mm mortar and the BIS version. Those are my two lines of inquiry.

    Just incase thate's a more simple solution here's the init.sqf:

    Code:
    //////////////////////////////////////////////////////////////////
    // Init.sqf
    // Created by: Intrepid
    //////////////////////////////////////////////////////////////////
    [] execVM "scripts\tickets.sqf"; //Beta Ticket Script
    [] execVM "scripts\playerDeath.sqf"; //Beta Ticket Script
    [] execVM "vdg\VDG_init.sqf"; //Viewdistance Script
    
    if (!(isNull player)) then  //non-JIP player
    	{
    		[] execVM "briefing.sqf";
    	};
    
    if (!isServer && isNull player) then  //JIP player
    	{waitUntil {!isNull player};
    		[] execVM "briefing.sqf";
    	};	
    
    if (isServer) then {
    		[] execVM "scripts\statics\cob.sqs"; //spawns cob
    		[] execVM "scripts\statics\sakhe.sqs"; //Spawns insurgent positions/cars
    	};
    
    //Civilian kill counter
    SHK_DeadCivilianCount = 0;
    SHK_DeadCivilianLimit = 5;
    SHK_EndMission = false;
    [] spawn {
      waituntil {SHK_EndMission};
      cuttext ["Parties to an armed conflict must distinguish between the civilian population and combatants and between civilian objects and military objectives. Any intended target must be a military target.  Attacks are prohibited if they cause incidental loss of civilian life, injury to civilians, or damage to civilian objects that is excessive in relation to the anticipated concrete and direct military advantage of the attack.  The use of military force is justified only to the extent it is necessary to achieve a military goal. This force used must not exceed the level required to stop the threatening activity.","PLAIN",2];
      sleep 35;
      endmission "END3";
    };
    
    SHK_fnc_deadCivilians = {
      hintsilent format ["Civilians dead: %1",_this];
      if (_this >= SHK_DeadCivilianLimit) then {
        SHK_EndMission = true;
        publicvariable "SHK_EndMission";
      };
    };
    SHK_eh_killed = {
      private "_side";
      _side = side (_this select 1);
      if (_side == WEST) then {
        SHK_DeadCivilianCount = SHK_DeadCivilianCount + 1;
        publicvariable "SHK_DeadCivilianCount";
        if isdedicated then {
          if (_this >= SHK_DeadCivilianLimit) then {
            SHK_EndMission = true;
            publicvariable "SHK_EndMission";
          };
        } else {
          SHK_DeadCivilianCount call SHK_fnc_deadCivilians;
        };
      };
    };
    if isserver then {
      {
        if (side _x == Civilian && _x iskindof "Man") then {
          _x addEventHandler ["killed", SHK_eh_killed];
        };
      } foreach allunits;
    } else {
      "SHK_DeadCivilianCount" addpublicvariableeventhandler { (_this select 1) call SHK_fnc_deadCivilians };
    };
    [] spawn {
      waituntil {!isnil "BIS_alice_mainscope"};
      waituntil {!isnil "bis_fnc_variablespaceadd"};
      [BIS_alice_mainscope,"ALICE_civilianinit",[{_this addEventHandler ["killed", SHK_eh_killed]}]] call bis_fnc_variablespaceadd;
    };
    
    //ace specific settings
    ace_wounds_prevtime = 120;
    
    //intro text/effect
    if (time < 10) then
    {
    titleCut ["", "BLACK FADED", 999];
    [] Spawn {
    waitUntil{!(isNil "BIS_fnc_init")};
    
    // Info text
    [str(" 'Spur Ride' ") , str(date select 2) + "." + str(date select 1) + "." + str(date select 0), str(" Loy Manara Province ")] spawn BIS_fnc_infoText;
    
    sleep 3;
    "dynamicBlur" ppEffectEnable true;
    "dynamicBlur" ppEffectAdjust [6];
    "dynamicBlur" ppEffectCommit 0;
    "dynamicBlur" ppEffectAdjust [0.0];
    "dynamicBlur" ppEffectCommit 7;
    titleCut ["", "BLACK IN", 5]
    };

  • #2
    Re: Diagnosing Strange Performance Issue : CO23_Spur_Ride_v1.takistan

    Post your local .rpt file from the mission.




    "Great spirits have always encountered violent opposition from mediocre minds. " - Albert Einstein

    Comment


    • #3
      Re: Diagnosing Strange Performance Issue : CO23_Spur_Ride_v1.takistan

      Code:
      ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
      "############################# Start CO23_Spur_Ride_v1 #############################"
      Mission CO23_Spur_Ride_v1.Takistan: Missing 'description.ext::Header'
      [2.2651e+006,18301.3,0,"XEH: PreInit Started. v3.0.6"]
      [2.2651e+006,18301.4,0,"MISSINIT","CO23_Spur_Ride_v1","Takistan",true,true,false]
      [2.2651e+006,18316.4,0,"XEH: PreInit Finished"]
      [2.2651e+006,18317,0,"XEH: VehicleCrewInit: 72"]
      Ref to nonnetwork object B 1-1-A
      Ref to nonnetwork object B 1-1-C
      Ref to nonnetwork object B 1-1-C
      Ref to nonnetwork object B 1-1-C
      Ref to nonnetwork object B 1-1-D
      Ref to nonnetwork object B 1-1-D
      Ref to nonnetwork object B 1-1-D
      Ref to nonnetwork object B 1-1-E
      Ref to nonnetwork object B 1-1-E
      Ref to nonnetwork object B 1-1-E
      [2.2651e+006,18312.2,0,"x\ace\addons\sys_wounds\XEH_preInit.sqf:8","WARNING: Enhanced Armor difficulty options enabled - this is not recommended in conjunction with ACE Wounds!"]
      [2.2651e+006,18318.7,0,"XEH: PostInit Started"]
      [2.2651e+006,18318.7,0,"CBA_VERSIONING",["#CBA_HASH#",["cba","ace","acex","acex_ru","acex_usnavy"],[[[0,7,5,158],-1],[[1,11,0,489],-1],[[1,11,0,333],-1],[[1,11,0,49],-1],[[1,11,0,51],-1]],[[0,0,0],0]]]
      [2.2651e+006,18322.8,0,"XEH: PostInit Finished; [true,false,false,true,false,true,false,true,true,true]"]
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      R 1-4-H:1: moving in direct condition failed, dist 2.27276
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Cannot load sound 'ca\dubbing\global\radio\dan\damn.wss'
      Creating debriefing
      ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
      "############################# Start CO23_Spur_Ride_v1 #############################"
      This is what I get in my local .rpt when I load it up.


      Tried posting a longer version from yesterday (dedicated session) but for some reason every other post I make requires a moderator to approve it?

      EDIT:
      A quick search for 'Ref to nonnetwork object' turned up this thread: http://dev-heaven.net/issues/11577 which appears to isolate a freezing/low FPS problem to ammo-crate locality, specifically crates which are 'local'. I had a number of crates spawned through the 3d editor but the script that calls them is run on the server. Does this make the crates local to the server?

      If so, is there a way to call the .sqs 3d editor scripts globally -once- so that the objects it calls are global and synchronized on init?
      Last edited by 1n7r3p1d; 06-11-2011, 01:24 PM.

      Comment

      Connect

      Collapse

      TeamSpeak 3 Server

      Collapse

      Advertisement

      Collapse

      Twitter Feed

      Collapse

      Working...
      X