diff options
author | Justin Clark-Casey (justincc) | 2012-08-28 23:06:53 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-08-28 23:06:53 +0100 |
commit | c1cece4b82d24a17a09b66c9ec3975190cc05d95 (patch) | |
tree | 702963505eb8a359d9e0ce6f92964b3a03ac3cbe /OpenSim/Region/Framework | |
parent | Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). Remove... (diff) | |
download | opensim-SC-c1cece4b82d24a17a09b66c9ec3975190cc05d95.zip opensim-SC-c1cece4b82d24a17a09b66c9ec3975190cc05d95.tar.gz opensim-SC-c1cece4b82d24a17a09b66c9ec3975190cc05d95.tar.bz2 opensim-SC-c1cece4b82d24a17a09b66c9ec3975190cc05d95.tar.xz |
Add experimental DynamicTextureModule.ReuseTextures flag, currently only configurable on compile.
Disabled (status quo) by default.
This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours.
This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web).
This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures.
A downside is that this stops expiry of old temporary dynamic textures from the cache,
Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs index 773ba73..1a3bcbb 100644 --- a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs +++ b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs | |||
@@ -33,7 +33,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
33 | public interface IDynamicTextureManager | 33 | public interface IDynamicTextureManager |
34 | { | 34 | { |
35 | void RegisterRender(string handleType, IDynamicTextureRender render); | 35 | void RegisterRender(string handleType, IDynamicTextureRender render); |
36 | void ReturnData(UUID id, byte[] data); | 36 | void ReturnData(UUID id, byte[] data, bool isReuseable); |
37 | 37 | ||
38 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, | 38 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, |
39 | int updateTimer); | 39 | int updateTimer); |
@@ -113,6 +113,18 @@ namespace OpenSim.Region.Framework.Interfaces | |||
113 | string GetName(); | 113 | string GetName(); |
114 | string GetContentType(); | 114 | string GetContentType(); |
115 | bool SupportsAsynchronous(); | 115 | bool SupportsAsynchronous(); |
116 | |||
117 | // /// <summary> | ||
118 | // /// Return true if converting the input body and extra params data will always result in the same byte[] array | ||
119 | // /// </summary> | ||
120 | // /// <remarks> | ||
121 | // /// This method allows the caller to use a previously generated asset if it has one. | ||
122 | // /// </remarks> | ||
123 | // /// <returns></returns> | ||
124 | // /// <param name='bodyData'></param> | ||
125 | // /// <param name='extraParams'></param> | ||
126 | // bool AlwaysIdenticalConversion(string bodyData, string extraParams); | ||
127 | |||
116 | byte[] ConvertUrl(string url, string extraParams); | 128 | byte[] ConvertUrl(string url, string extraParams); |
117 | byte[] ConvertData(string bodyData, string extraParams); | 129 | byte[] ConvertData(string bodyData, string extraParams); |
118 | bool AsyncConvertUrl(UUID id, string url, string extraParams); | 130 | bool AsyncConvertUrl(UUID id, string url, string extraParams); |