Change the setting for GetMesh2 meshes to Mesh2MaxConcurrentRequests.

Mon, 05 Aug 2013 13:54:14 -0400

author
Monty Brandenberg <monty@lindenlab.com>
date
Mon, 05 Aug 2013 13:54:14 -0400
changeset 40702
8e25ca0fe818
parent 40701
708f569ab46b
child 40703
cbf70fcee978

Change the setting for GetMesh2 meshes to Mesh2MaxConcurrentRequests.
While linking GetMesh2 to the old setting was simpler from a user
point-of-view, they really shouldn't be linked and the old one will
go away. This one may be renamed to AssetMaxConcurrentRequests or
something similar if we get to the mesh/texture unification step.

indra/newview/app_settings/settings.xml file | annotate | diff | revisions
indra/newview/llappcorehttp.cpp file | annotate | diff | revisions
indra/newview/llmeshrepository.cpp file | annotate | diff | revisions
     1.1 --- a/indra/newview/app_settings/settings.xml	Tue Jul 30 15:21:31 2013 -0400
     1.2 +++ b/indra/newview/app_settings/settings.xml	Mon Aug 05 13:54:14 2013 -0400
     1.3 @@ -9708,11 +9708,21 @@
     1.4      <key>Value</key>
     1.5      <real>16</real>
     1.6    </map>
     1.7 -
     1.8 +  <key>Mesh2MaxConcurrentRequests</key>
     1.9 +  <map>
    1.10 +    <key>Comment</key>
    1.11 +    <string>Number of connections to use for loading meshes.</string>
    1.12 +    <key>Persist</key>
    1.13 +    <integer>1</integer>
    1.14 +    <key>Type</key>
    1.15 +    <string>U32</string>
    1.16 +    <key>Value</key>
    1.17 +    <integer>8</integer>
    1.18 +  </map>
    1.19    <key>MeshMaxConcurrentRequests</key>
    1.20    <map>
    1.21      <key>Comment</key>
    1.22 -    <string>Number of threads to use for loading meshes.</string>
    1.23 +    <string>Number of connections to use for loading meshes (legacy system).</string>
    1.24      <key>Persist</key>
    1.25      <integer>1</integer>
    1.26      <key>Type</key>
     2.1 --- a/indra/newview/llappcorehttp.cpp	Tue Jul 30 15:21:31 2013 -0400
     2.2 +++ b/indra/newview/llappcorehttp.cpp	Mon Aug 05 13:54:14 2013 -0400
     2.3 @@ -32,6 +32,13 @@
     2.4  #include "llviewercontrol.h"
     2.5  
     2.6  
     2.7 +// Here is where we begin to get our connection usage under control.
     2.8 +// This establishes llcorehttp policy classes that, among other
     2.9 +// things, limit the maximum number of connections to outside
    2.10 +// services.  Each of the entries below maps to a policy class and
    2.11 +// has a limit, sometimes configurable, of how many connections can
    2.12 +// be open at a time.
    2.13 +
    2.14  const F64 LLAppCoreHttp::MAX_THREAD_WAIT_TIME(10.0);
    2.15  static const struct
    2.16  {
    2.17 @@ -39,34 +46,33 @@
    2.18  	U32							mDefault;
    2.19  	U32							mMin;
    2.20  	U32							mMax;
    2.21 -	U32							mDivisor;
    2.22  	U32							mRate;
    2.23  	std::string					mKey;
    2.24  	const char *				mUsage;
    2.25  } init_data[] =					//  Default and dynamic values for classes
    2.26  {
    2.27  	{
    2.28 -		LLAppCoreHttp::AP_TEXTURE,			8,		1,		12,		1,		0,
    2.29 +		LLAppCoreHttp::AP_TEXTURE,			8,		1,		12,		0,
    2.30  		"TextureFetchConcurrency",
    2.31  		"texture fetch"
    2.32  	},
    2.33  	{
    2.34 -		LLAppCoreHttp::AP_MESH1,			32,		1,		128,	1,		100,
    2.35 +		LLAppCoreHttp::AP_MESH1,			32,		1,		128,	100,
    2.36  		"MeshMaxConcurrentRequests",
    2.37  		"mesh fetch"
    2.38  	},
    2.39  	{
    2.40 -		LLAppCoreHttp::AP_MESH2,			8,		1,		32,		4,		100,
    2.41 -		"MeshMaxConcurrentRequests",
    2.42 +		LLAppCoreHttp::AP_MESH2,			8,		1,		32,		100,
    2.43 +		"Mesh2MaxConcurrentRequests",
    2.44  		"mesh2 fetch"
    2.45  	},
    2.46  	{
    2.47 -		LLAppCoreHttp::AP_LARGE_MESH,		2,		1,		8,		1,		0,
    2.48 +		LLAppCoreHttp::AP_LARGE_MESH,		2,		1,		8,		0,
    2.49  		"",
    2.50  		"large mesh fetch"
    2.51  	},
    2.52  	{
    2.53 -		LLAppCoreHttp::AP_UPLOADS,			2,		1,		8,		1,		0,
    2.54 +		LLAppCoreHttp::AP_UPLOADS,			2,		1,		8,		0,
    2.55  		"",
    2.56  		"asset upload"
    2.57  	}
    2.58 @@ -298,8 +304,7 @@
    2.59  			if (new_setting)
    2.60  			{
    2.61  				// Treat zero settings as an ask for default
    2.62 -				setting = new_setting / init_data[i].mDivisor;
    2.63 -				setting = llclamp(setting, init_data[i].mMin, init_data[i].mMax);
    2.64 +				setting = llclamp(new_setting, init_data[i].mMin, init_data[i].mMax);
    2.65  			}
    2.66  		}
    2.67  
     3.1 --- a/indra/newview/llmeshrepository.cpp	Tue Jul 30 15:21:31 2013 -0400
     3.2 +++ b/indra/newview/llmeshrepository.cpp	Mon Aug 05 13:54:14 2013 -0400
     3.3 @@ -2897,9 +2897,7 @@
     3.4  	else
     3.5  	{
     3.6  		// GetMesh2 operation with keepalives, etc.
     3.7 -		// *TODO:  Logic here is replicated from llappcorehttp.cpp, should really
     3.8 -		// unify this and keep it in one place only.
     3.9 -		LLMeshRepoThread::sMaxConcurrentRequests = gSavedSettings.getU32("MeshMaxConcurrentRequests") / 4;
    3.10 +		LLMeshRepoThread::sMaxConcurrentRequests = gSavedSettings.getU32("Mesh2MaxConcurrentRequests");
    3.11  		LLMeshRepoThread::sRequestHighWater = llclamp(5 * S32(LLMeshRepoThread::sMaxConcurrentRequests),
    3.12  													  REQUEST_HIGH_WATER_MIN,
    3.13  													  REQUEST_HIGH_WATER_MAX);

mercurial