fixed for EXT-8963: investigate if Advanced > Run Multiple Threads should be on.

Removed "Run Multiple Threads" from the menu because we are not using it.
meow-7.2.2
Xiaohong Bao 2010-08-18 15:32:40 -06:00
parent 17ee700a33
commit ebab718f32
3 changed files with 55 additions and 216 deletions

View File

@ -8295,17 +8295,6 @@
<key>Value</key>
<real>1.0</real>
</map>
<key>RunMultipleThreads</key>
<map>
<key>Comment</key>
<string>If TRUE keep background threads active during render</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>SafeMode</key>
<map>
<key>Comment</key>

View File

@ -961,11 +961,6 @@ 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");
static LLFastTimer::DeclareTimer FTM_AGENT_AUTOPILOT("Autopilot");
static LLFastTimer::DeclareTimer FTM_AGENT_UPDATE("Update");
bool LLAppViewer::mainLoop()
{
@ -1075,20 +1070,10 @@ bool LLAppViewer::mainLoop()
LLMemType mt_ip(LLMemType::MTYPE_IDLE_PUMP);
pingMainloopTimeout("Main:ServicePump");
LLFastTimer t4(FTM_PUMP);
{
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();
}
}
gAres->process();
// this pump is necessary to make the login screen show up
gServicePump->pump();
gServicePump->callback();
}
resumeMainloopTimeout();
@ -1123,8 +1108,7 @@ bool LLAppViewer::mainLoop()
{
LLMemType mt_sleep(LLMemType::MTYPE_SLEEP);
LLFastTimer t2(FTM_SLEEP);
bool run_multiple_threads = gSavedSettings.getBOOL("RunMultipleThreads");
// yield some time to the os based on command line option
if(mYieldTime >= 0)
{
@ -1162,9 +1146,7 @@ bool LLAppViewer::mainLoop()
}
static const F64 FRAME_SLOW_THRESHOLD = 0.5; //2 frames per seconds
const F64 min_frame_time = 0.0; //(.0333 - .0010); // max video frame rate = 30 fps
const F64 min_idle_time = 0.0; //(.0010); // min idle time = 1 ms
const F64 max_idle_time = run_multiple_threads ? min_idle_time : llmin(.005*10.0*gFrameTimeSeconds, 0.005); // 5 ms a second
const F64 max_idle_time = llmin(.005*10.0*gFrameTimeSeconds, 0.005); // 5 ms a second
idleTimer.reset();
bool is_slow = (frameTimer.getElapsedTimeF64() > FRAME_SLOW_THRESHOLD) ;
S32 total_work_pending = 0;
@ -1202,34 +1184,24 @@ bool LLAppViewer::mainLoop()
total_work_pending += work_pending ;
total_io_pending += io_pending ;
F64 frame_time = frameTimer.getElapsedTimeF64();
F64 idle_time = idleTimer.getElapsedTimeF64();
if (frame_time >= min_frame_time &&
idle_time >= min_idle_time &&
(!work_pending || idle_time >= max_idle_time))
if (!work_pending || idleTimer.getElapsedTimeF64() >= max_idle_time)
{
break;
}
}
// Prevent the worker threads from running while rendering.
// if (LLThread::processorCount()==1) //pause() should only be required when on a single processor client...
if (run_multiple_threads == FALSE)
if(!total_work_pending) //pause texture fetching threads if nothing to process.
{
//LLFastTimer ftm(FTM_PAUSE_THREADS); //not necessary.
if(!total_work_pending) //pause texture fetching threads if nothing to process.
{
LLAppViewer::getTextureCache()->pause();
LLAppViewer::getImageDecodeThread()->pause();
LLAppViewer::getTextureFetch()->pause();
}
if(!total_io_pending) //pause file threads if nothing to process.
{
LLVFSThread::sLocal->pause();
LLLFSThread::sLocal->pause();
}
}
LLAppViewer::getTextureCache()->pause();
LLAppViewer::getImageDecodeThread()->pause();
LLAppViewer::getTextureFetch()->pause();
}
if(!total_io_pending) //pause file threads if nothing to process.
{
LLVFSThread::sLocal->pause();
LLLFSThread::sLocal->pause();
}
if ((LLStartUp::getStartupState() >= STATE_CLEANUP) &&
(frameTimer.getElapsedTimeF64() > FRAME_STALL_THRESHOLD))
@ -3581,12 +3553,9 @@ void LLAppViewer::idle()
gAgent.moveYaw(-1.f);
}
{
LLFastTimer t(FTM_AGENT_AUTOPILOT);
// Handle automatic walking towards points
gAgentPilot.updateTarget();
gAgent.autoPilot(&yaw);
}
// Handle automatic walking towards points
gAgentPilot.updateTarget();
gAgent.autoPilot(&yaw);
static LLFrameTimer agent_update_timer;
static U32 last_control_flags;
@ -3597,7 +3566,6 @@ 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);

View File

@ -29,9 +29,7 @@
<menu_item_call.on_click
function="BuyCurrency" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="My Profile"
name="Profile">
@ -126,9 +124,7 @@
<menu_item_call.on_click
function="Advanced.LeaveAdminStatus" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Exit [APP_NAME]"
name="Quit"
@ -157,9 +153,7 @@
function="SideTray.PanelPeopleTab"
parameter="groups_panel" />
</menu_item_call>
<menu_item_separator/>
<!--menu_item_call
label="Chat"
name="Chat">
@ -257,9 +251,7 @@
parameter="region_info" />
</menu_item_call>
</menu>
<menu_item_separator/>
<menu_item_call
label="Buy This Land"
name="Buy Land">
@ -356,9 +348,7 @@
control="NavBarShowParcelProperties" />
</menu_item_check>
</menu>
<menu_item_separator/>
<menu_item_call
label="Teleport Home"
name="Teleport Home"
@ -397,9 +387,7 @@
parameter="ShowNavbarFavoritesPanel" />
</menu_item_check>
<menu_item_separator/>-->
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Sun"
@ -442,9 +430,7 @@
function="World.EnvSettings"
parameter="default" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Environment Editor"
name="Environment Editor">
@ -593,7 +579,6 @@
</menu_item_call>
</menu>
<menu_item_separator/>
<menu_item_call
label="Focus on Selection"
name="Focus on Selection"
@ -614,9 +599,7 @@
<menu_item_call.on_enable
function="Tools.SomethingSelectedNoHUD" />
</menu_item_call>
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Object"
@ -718,9 +701,7 @@
function="EditableSelected" />
</menu_item_call>
</menu>
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Options"
@ -736,9 +717,7 @@
function="ToggleControl"
parameter="DebugPermissions" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Select Only My Objects"
name="Select Only My Objects">
@ -765,9 +744,7 @@
<menu_item_check.on_click
function="Tools.SelectBySurrounding" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Show Hidden Selection"
name="Show Hidden Selection">
@ -793,9 +770,7 @@
function="ToggleControl"
parameter="ShowSelectionBeam" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Snap to Grid"
name="Snap to Grid"
@ -919,9 +894,7 @@
function="Floater.Show"
parameter="hud" />
</menu_item_call>-->
<menu_item_separator/>
<menu_item_call
label="Report Abuse"
name="Report Abuse">
@ -935,9 +908,7 @@
function="ShowHelp"
parameter="report_bug" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="About [APP_NAME]"
name="About Second Life">
@ -951,6 +922,17 @@
name="Advanced"
tear_off="true"
visible="false">
<menu_item_check
label="Show Advanced Menu"
name="Show Advanced Menu"
shortcut="control|alt|shift|D">
<on_check
function="CheckControl"
parameter="UseDebugMenus" />
<on_click
function="ToggleControl"
parameter="UseDebugMenus" />
</menu_item_check>
<menu_item_call
label="Stop Animating Me"
name="Stop Animating My Avatar">
@ -977,9 +959,7 @@
function="Floater.Show"
parameter="window_size" />
</menu_item_call>
<menu_item_separator/>
<menu_item_check
label="Limit Select Distance"
name="Limit Select Distance">
@ -1000,9 +980,7 @@
function="ToggleControl"
parameter="DisableCameraConstraints" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="High-res Snapshot"
name="HighResSnapshot">
@ -1033,9 +1011,7 @@
function="ToggleControl"
parameter="CompressSnapshotsToDisk" />
</menu_item_check>
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Performance Tools"
@ -1148,9 +1124,7 @@
<menu_item_check.on_click
function="View.ShowHoverTips" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Show Land Tooltips"
name="Land Tips">
@ -1419,17 +1393,7 @@
function="Advanced.ToggleFeature"
parameter="flexible" />
</menu_item_check>
</menu>
<menu_item_check
label="Run Multiple Threads"
name="Run Multiple Threads">
<menu_item_check.on_check
function="CheckControl"
parameter="RunMultipleThreads" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RunMultipleThreads" />
</menu_item_check>
</menu>
<menu_item_check
label="Use Plugin Read Thread"
name="Use Plugin Read Thread">
@ -1457,9 +1421,7 @@
function="ToggleControl"
parameter="MouseSmooth" />
</menu_item_check>
<menu_item_separator/>
<menu
label="Shortcuts"
name="Shortcuts"
@ -1503,9 +1465,19 @@
<menu_item_call.on_click
function="View.DefaultUISize" />
</menu_item_call>
<!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. -->
<menu_item_check
label="Show Advanced Menu - legacy shortcut"
name="Show Advanced Menu - legacy shortcut"
shortcut="control|alt|D">
<on_check
function="CheckControl"
parameter="UseDebugMenus" />
<on_click
function="ToggleControl"
parameter="UseDebugMenus" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Always Run"
name="Always Run"
@ -1526,9 +1498,7 @@
<menu_item_check.on_enable
function="Agent.enableFlying" />
</menu_item_check>
<menu_item_separator/>
<menu_item_call
label="Close Window"
name="Close Window"
@ -1547,9 +1517,7 @@
<menu_item_call.on_enable
function="File.EnableCloseAllWindows" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Snapshot to Disk"
name="Snapshot to Disk"
@ -1558,9 +1526,7 @@
<menu_item_call.on_click
function="File.TakeSnapshotToDisk" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Mouselook"
name="Mouselook"
@ -1597,9 +1563,7 @@
<menu_item_call.on_enable
function="View.EnableLastChatter" />
</menu_item_call>
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Select Build Tool"
@ -1646,9 +1610,7 @@
parameter="land" />
</menu_item_call>
</menu>
<menu_item_separator/>
<menu_item_call
label="Zoom In"
name="Zoom In"
@ -1670,27 +1632,8 @@
<menu_item_call.on_click
function="View.ZoomOut" />
</menu_item_call>
<menu_item_separator
visible="false"/>
<!-- Made invisible to avoid a dissonance: menu item toggle menu where it is located. EXT-8069.
Can't be removed to keep sortcut workable.
-->
<menu_item_check
label="Show Advanced Menu"
name="Show Advanced Menu"
shortcut="control|alt|D"
visible="false">
<on_check
function="CheckControl"
parameter="UseDebugMenus" />
<on_click
function="ToggleControl"
parameter="UseDebugMenus" />
</menu_item_check>
</menu> <!--Shortcuts-->
</menu>
<menu_item_separator/>
<menu_item_call
label="Show Debug Settings"
name="Debug Settings">
@ -1709,7 +1652,6 @@
function="ToggleControl"
parameter="QAMode" />
</menu_item_check>
</menu>
<menu
create_jump_keys="true"
@ -1800,9 +1742,7 @@
function="Advanced.ToggleConsole"
parameter="memory view" />
</menu_item_check>
<menu_item_separator/>
<menu_item_call
label="Region Info to Debug Console"
name="Region Info to Debug Console">
@ -1824,9 +1764,7 @@
function="Advanced.DumpInfoToConsole"
parameter="capabilities" />
</menu_item_call>
<menu_item_separator/>
<menu_item_check
label="Camera"
name="Camera">
@ -1914,9 +1852,7 @@
function="ToggleControl"
parameter="DebugShowColor" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Show Updates to Objects"
name="Show Updates"
@ -1928,9 +1864,7 @@
function="Advanced.ToggleShowObjectUpdates" />
</menu_item_check>
</menu>
<menu_item_separator/>
<menu
create_jump_keys="true"
label="Force an Error"
@ -2224,12 +2158,9 @@
<menu_item_check.on_enable
function="Advanced.EnableRenderFBO" />
</menu_item_check>
<menu_item_separator />
<menu_item_check
label="Lighting and Shadows"
name="Lighting and Shadows">
label="Deferred Rendering"
name="Deferred Rendering">
<menu_item_check.on_check
function="CheckControl"
parameter="RenderDeferred" />
@ -2240,31 +2171,7 @@
function="Advanced.EnableRenderDeferred" />
</menu_item_check>
<menu_item_check
label=" Shadows from Sun/Moon/Projectors"
name="Shadows from Sun/Moon/Projectors">
<menu_item_check.on_check
function="Advanced.CheckRenderShadowOption"
parameter="RenderShadowDetail" />
<menu_item_check.on_click
function="Advanced.ClickRenderShadowOption"
parameter="RenderShadowDetail" />
<menu_item_check.on_enable
function="Advanced.EnableRenderDeferredOptions" />
</menu_item_check>
<menu_item_check
label=" SSAO and Shadow Smoothing"
name="SSAO and Shadow Smoothing">
<menu_item_check.on_check
function="CheckControl"
parameter="RenderDeferredSSAO" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RenderDeferredSSAO" />
<menu_item_check.on_enable
function="Advanced.EnableRenderDeferredOptions" />
</menu_item_check>
<menu_item_check
label=" Global Illumination (experimental)"
label="Global Illumination"
name="Global Illumination">
<menu_item_check.on_check
function="CheckControl"
@ -2273,11 +2180,9 @@
function="ToggleControl"
parameter="RenderDeferredGI" />
<menu_item_check.on_enable
function="Advanced.EnableRenderDeferredOptions" />
function="Advanced.EnableRenderDeferredGI" />
</menu_item_check>
<menu_item_separator />
<menu_item_check
label="Debug GL"
name="Debug GL">
@ -2299,24 +2204,14 @@
parameter="RenderDebugPipeline" />
</menu_item_check>
<menu_item_check
label="Automatic Alpha Masks (deferred)"
name="Automatic Alpha Masks (deferred)">
label="Fast Alpha"
name="Fast Alpha">
<menu_item_check.on_check
function="CheckControl"
parameter="RenderAutoMaskAlphaDeferred" />
parameter="RenderFastAlpha" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RenderAutoMaskAlphaDeferred" />
</menu_item_check>
<menu_item_check
label="Automatic Alpha Masks (non-deferred)"
name="Automatic Alpha Masks (non-deferred)">
<menu_item_check.on_check
function="CheckControl"
parameter="RenderAutoMaskAlphaNonDeferred" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RenderAutoMaskAlphaNonDeferred" />
parameter="RenderFastAlpha" />
</menu_item_check>
<menu_item_check
label="Animation Textures"
@ -2359,7 +2254,7 @@
parameter="AuditTexture" />
</menu_item_check>
<menu_item_check
label="Texture Atlas (experimental)"
label="Texture Atlas"
name="Texture Atlas">
<menu_item_check.on_check
function="CheckControl"
@ -2415,9 +2310,7 @@
function="ToggleControl"
parameter="AgentPause" />
</menu_item_check>
<menu_item_separator/>
<menu_item_call
label="Enable Message Log"
name="Enable Message Log">
@ -2430,9 +2323,7 @@
<menu_item_call.on_click
function="Advanced.DisableMessageLog" />
</menu_item_call>
<menu_item_separator/>
<menu_item_check
label="Velocity Interpolate Objects"
name="Velocity Interpolate Objects">
@ -2453,9 +2344,7 @@
function="ToggleControl"
parameter="PingInterpolate" />
</menu_item_check>
<menu_item_separator/>
<menu_item_call
label="Drop a Packet"
name="Drop a Packet"
@ -2643,7 +2532,6 @@
</menu_item_check>
<menu_item_separator />
<menu_item_check
label="Debug SelectMgr"
name="Debug SelectMgr">
@ -2989,9 +2877,7 @@
function="Advanced.DumpAvatarLocalTextures" />
</menu_item_call>
</menu>
<menu_item_separator/>
<menu_item_check
label="HTTP Textures"
name="HTTP Textures">
@ -3028,9 +2914,7 @@
function="ToggleControl"
parameter="ShowConsoleWindow" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Show Admin Menu"
name="View Admin Options">
@ -3365,9 +3249,7 @@
name="PublicIssueTrackerHelp_url"
parameter="WebLaunchPublicIssueHelp,http://wiki.secondlife.com/wiki/Issue_tracker" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Bug Reporting 101"
name="Bug Reporing 101">