| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
commit 5eb2526
Manually calling GC.Collect() really shouldnt' be necessary and is generally regarded as a bad idea.
A GC should occur anyway pretty shortly afterwards.
However, can leave this in development code for now to see if it does actually make a significant difference rather than simply doing a GC a little earlier.
|
| |
|
|
|
|
|
|
|
|
|
| |
fall below current viewer discard level 2 thresholds.
Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache.
This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request.
This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true
This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable.
This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests.
This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size.
I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank.
If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution.
However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
|
|/
|
|
| |
Thanks Hiro Lecker for a patch to reduce memory useage with Warp3D map module
|
|
|
|
|
|
|
|
|
|
| |
Default is false, as before.
If true, this setting reuses dynamically generated textures (i.e. created through osSetDynamicTextureData() and similar OSSL functions) where possible rather than always regenerating them.
This results in much quicker updates viewer-side but may bloat the asset cache (though this is fixable).
Also, sometimes issue have been seen where dynamic textures do not transfer to the viewer properly (permanently blurry).
If this happens and that flag is set then they are not regenerated, the viewer has to clear cache or wait for 24 hours before all cached uuids are invalidated.
CUrrently experimental. Default is false, as before.
|
|
|
|
| |
metadata still exists for any reused asset in case some other process has removed it from the cache.
|
|
|
|
|
|
|
|
| |
type for an HTTP request. Since the "official" LSL function limits
the use of the response type, it is implemented as osSetContentType
with a string for the content mime type and a threat level of high.
With this function you should be able to implement rather functional
media-on-a-prim application with much less difficulty.
|
|
|
|
|
|
|
|
|
|
|
| |
folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders.
This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder.
Added regression test for this case.
Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService
Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used
since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs.
However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
|
| |
|
| |
|
| |
|
|
|
|
| |
removal of unncessary syntax clutter
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
prevents malloc heap corruption seen under Ubuntu 10.04.1 and 11.04 - probably a libcairo issue
In testing, it appears that if multiple threads dispose of separate GDI+ objects simultaneously,
the native malloc heap can become corrupted, possibly due to a double free(). This may be due to
bugs in the underlying libcairo used by mono's libgdiplus.dll on Linux/OSX. These problems were
seen with both libcario 1.10.2-6.1ubuntu3 and 1.8.10-2ubuntu1. They go away if disposal is perfomed
under lock.
|
|
|
|
|
|
| |
avatar would base its gain calculation on the previous avatar's gain, instead of the original input gain
This is similar to commit d89faa which fixed the same kind of bug in TriggerSound()
|
|
|
|
|
|
|
|
|
|
| |
parcel access lists.
If a group UUID is present that is not on this simulator then the object or parcel is no longer group owned.
This is a change from previous behaviour where such invalid UUIDs were kept.
This is an adaptation of patch 0002 from http://opensimulator.org/mantis/view.php?id=6105 by Oren Hurvitz of Kitely.
My adaptations are formatting only, apart from the notices about parcel owner IDs not being saved since this has now been fixed.
Thanks Oren.
|
|
|
|
|
|
|
|
|
| |
race condition checks.
This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once).
You should only attempt --force if a normal kick fails.
This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive.
This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This was working in 0.7.2 but was accidentally removed from 0.7.3.
The --publish option for "save oar" will now save oars stripped of parcel owner information as well as scene object info.
Please use the --publish option if you want to publish oars that may be later loaded by others to the same grid from which they were saved.
|
| |
|
|
|
|
| |
last commit 205f2326
|
|
|
|
| |
VectorRenderModule inside its own context, rather than disposing of the old font before using it as a prototype for the new.
|
|
|
|
| |
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|
|
|
|
|
|
| |
timed-out
The bug manifested as follows: a large world was saved. All the assets were found. But for some unknown reason, the timeout timer was restarted. So after 1 minute it closed the Archive Writer, because it didn't receive any more assets during that minute. That caused the OAR to become corrupted because ArchiveWriteRequestExecution.Save() was still running.
|
| |
|
|
|
|
|
|
|
| |
textures.
The convention is that if an object implements IDiposable() the code must explicitly call Dispose() or call it via the using statement.
This may be particularly important for GDI+ objects since they encapsulate native code entities.
|
| |
|
|
|
|
|
|
| |
would base its gain calculation on the previous avatar's gain, instead of the original input gain.
This was making sound attenuate oddly when there were NPCs in the region, though it could also happen with ordinary avatars.
|
|
|
|
|
|
|
|
| |
description field.
If we copy the asset description then we will only ever replicate the very first description, if there was one, not any subsequent changes.
Thanks to Oren Hurvitz of Kitely for this patch from http://opensimulator.org/mantis/view.php?id=6107
I have adapted it slightly to change the order of arguments (name before description rather than vice-versa) and slightly improve some method doc.
|
|
|
|
| |
with other monitoring code from OpenSim.Framework
|
|
|
|
| |
This better reflects the long-term purpose of that project and matches Monitoring modules.
|
|
|
|
|
| |
This is fired when all regions are ready or when at least one region becomes not ready.
Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
|
|
|
|
| |
It seems that the mono 2.10.8.1 doesn't choke on this but for some reason 2.4.3 fails.
|
|
|
|
| |
start of script rather than just the script status reported by SOG.ContainsScripts()
|
|
|
|
| |
correct running status on a re-rezzed attachment
|
|
|
|
|
|
| |
justincc's original work. Sample scripts before doing so. Also refactor some
crucial common code and eliminate parameters that were only ever used with
the same constant value.
|
|
|
|
| |
attempting to fix a mono compile error.
|
|
|
|
| |
simple, high performance logger for high frequency logging (physics sub-operations, for instance).
|
|
|
|
|
| |
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
|
|
|
|
| |
GroupsModule, since these led to a private blank method
|
|
|
|
|
|
|
| |
enabled or disabled at any point, not just during initial startup.
This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled
and was affected by a bug where it would never fire if the region started with logins disabled.
|
|
|
|
|
|
| |
once when the region is ready.
Switch MapImageServiceModule to use this.
|