diff options
| author | Dave Parks <davep@lindenlab.com> | 2009-12-16 12:31:24 -0600 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2009-12-16 12:31:24 -0600 | 
| commit | 4c9d37c0906bd0218a5db08ea4fc253adfc684c9 (patch) | |
| tree | c78f90fc3b8ae81f7607e5e52b155ced4b618a3b | |
| parent | edb67a898c4d20a1d4f18ad0db9ad02d6157b2ed (diff) | |
Tracking down stalls in llpumpio and agent updates.
| -rw-r--r-- | indra/llmessage/llpumpio.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 33 | 
2 files changed, 31 insertions, 9 deletions
| diff --git a/indra/llmessage/llpumpio.cpp b/indra/llmessage/llpumpio.cpp index 5e9dfd81fa..e3ce2c5ad3 100644 --- a/indra/llmessage/llpumpio.cpp +++ b/indra/llmessage/llpumpio.cpp @@ -444,13 +444,13 @@ void LLPumpIO::pump()  	pump(DEFAULT_POLL_TIMEOUT);  } -static LLFastTimer::DeclareTimer FTM_PUMP("Pump"); +static LLFastTimer::DeclareTimer FTM_PUMP_IO("Pump IO");  //timeout is in microseconds  void LLPumpIO::pump(const S32& poll_timeout)  {  	LLMemType m1(LLMemType::MTYPE_IO_PUMP); -	LLFastTimer t1(FTM_PUMP); +	LLFastTimer t1(FTM_PUMP_IO);  	//llinfos << "LLPumpIO::pump()" << llendl;  	// Run any pending runners. @@ -778,6 +778,8 @@ bool LLPumpIO::respond(  	return true;  } +static LLFastTimer::DeclareTimer FTM_PUMP_CALLBACK_CHAIN("Chain"); +  void LLPumpIO::callback()  {  	LLMemType m1(LLMemType::MTYPE_IO_PUMP); @@ -799,6 +801,7 @@ void LLPumpIO::callback()  		callbacks_t::iterator end = mCallbacks.end();  		for(; it != end; ++it)  		{ +			LLFastTimer t(FTM_PUMP_CALLBACK_CHAIN);  			// it's always the first and last time for respone chains  			(*it).mHead = (*it).mChainLinks.begin();  			(*it).mInit = true; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 0461cf1612..7fb821c61d 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -921,6 +921,9 @@ static LLFastTimer::DeclareTimer FTM_LFS("LFS Thread");  static LLFastTimer::DeclareTimer FTM_PAUSE_THREADS("Pause Threads");  static LLFastTimer::DeclareTimer FTM_IDLE("Idle");  static LLFastTimer::DeclareTimer FTM_PUMP("Pump"); +static LLFastTimer::DeclareTimer FTM_PUMP_ARES("Ares"); +static LLFastTimer::DeclareTimer FTM_PUMP_SERVICE("Service"); +static LLFastTimer::DeclareTimer FTM_SERVICE_CALLBACK("Callback");  bool LLAppViewer::mainLoop()  { @@ -1032,10 +1035,20 @@ bool LLAppViewer::mainLoop()  						LLMemType mt_ip(LLMemType::MTYPE_IDLE_PUMP);  						pingMainloopTimeout("Main:ServicePump");				  						LLFastTimer t4(FTM_PUMP); -						gAres->process(); -						// this pump is necessary to make the login screen show up -						gServicePump->pump(); -						gServicePump->callback(); +						{ +							LLFastTimer t(FTM_PUMP_ARES); +							gAres->process(); +						} +						{ +							LLFastTimer t(FTM_PUMP_SERVICE); +							// this pump is necessary to make the login screen show up +							gServicePump->pump(); + +							{ +								LLFastTimer t(FTM_SERVICE_CALLBACK); +								gServicePump->callback(); +							} +						}  					}  					resumeMainloopTimeout(); @@ -3388,6 +3401,8 @@ static LLFastTimer::DeclareTimer FTM_REGION_UPDATE("Update Region");  static LLFastTimer::DeclareTimer FTM_WORLD_UPDATE("Update World");  static LLFastTimer::DeclareTimer FTM_NETWORK("Network");  static LLFastTimer::DeclareTimer FTM_AGENT_NETWORK("Agent Network"); +static LLFastTimer::DeclareTimer FTM_AGENT_AUTOPILOT("Autopilot"); +static LLFastTimer::DeclareTimer FTM_AGENT_UPDATE("Update");  static LLFastTimer::DeclareTimer FTM_VLMANAGER("VL Manager");  /////////////////////////////////////////////////////// @@ -3474,9 +3489,12 @@ void LLAppViewer::idle()  			gAgent.moveYaw(-1.f);  		} -	    // Handle automatic walking towards points -	    gAgentPilot.updateTarget(); -	    gAgent.autoPilot(&yaw); +		{ +			LLFastTimer t(FTM_AGENT_AUTOPILOT); +			// Handle automatic walking towards points +			gAgentPilot.updateTarget(); +			gAgent.autoPilot(&yaw); +		}  	    static LLFrameTimer agent_update_timer;  	    static U32 				last_control_flags; @@ -3487,6 +3505,7 @@ void LLAppViewer::idle()  	    if (flags_changed || (agent_update_time > (1.0f / (F32) AGENT_UPDATES_PER_SECOND)))  	    { +			LLFastTimer t(FTM_AGENT_UPDATE);  		    // Send avatar and camera info  		    last_control_flags = gAgent.getControlFlags();  		    send_agent_update(TRUE); | 
