|Anonymous | Login||08-02-2021 05:51 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Advanced Details [ Jump to Notes ]||[ View Simple ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0005797||[Croquet] Hedgehog||minor||always||01-20-07 20:06||02-01-07 04:13|
|Summary||0005797: Cube and Laser objects create permanent TMaterial garbage|
Some classes create TMaterials that are immediately thrown away. This creates a lot of garbage that permanently inflates the size of the island, making sync take longer and longer. With no handles to these objects, there's no way for an application to explicitly "free" them.
- TLaser>>initialize creates 4 TTriangles and 4 TRectangles that each have their own TMaterial. It then immediately replaces these 8 TMaterials with two new ones. (A new TLaser is created for each entering user, so this adds up in a long-lived island.)
- TCube new creates a TMaterial that is eventually assigned to the new instance via TMesh>>quadMeshWithVertices:alias:norms:textureUV:faceGroups:material:. However, TCube>>initialize also creates a TMaterial which will immediately be replaced by the one from #new.
|Steps To Reproduce|
|Attached Files||UnregisterLaser.1.cs.gz [^] (621 bytes) 02-01-07 04:11|
(0009316 - 249 - 259 - 259 - 259 - 259 - 259)
|The attached UnregisterLaser changeset "fixes" the TLaser problem by expicitly unregistering the junk TMaterial. But this depends on having #unregister:, which is only otherwise used in the Wisconsin package, so it's probably not a fix for everyone.|
|01-20-07 20:06||howardstearns||New Issue|
|01-20-07 20:07||howardstearns||Relationship added||child of 0003297|
|02-01-07 04:11||howardstearns||File Added: UnregisterLaser.1.cs.gz|
|02-01-07 04:13||howardstearns||Note Added: 0009316|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
38 total queries executed.|
28 unique queries executed.