Streaming Cost test

From Second Life Wiki
Revision as of 16:52, 13 January 2011 by Dan Linden (talk | contribs)
Jump to navigation Jump to search

Test Plan Name:

Streaming Cost test

Sources

https://wiki.secondlife.com/wiki/Mesh/Mesh_Streaming_Cost
https://wiki.secondlife.com/wiki/Mesh_Accounting_Test

Purpose

Verify the amount of data streamed to the viewer is within the expected range.

Tests

Target viewport streaming cost at 128m, medium detail (currently 2MB)

  • "I got this number by flying around some prim heavy builds (the city north of Ahern) with all rendering disabled but prims, view distance set to 128m, and prim detail set to mid, and watching the peak triangle count per frame in the statistic floater. The average was around 75k/triangles per frame with a peak of 150k, so for meshes a good target would be 125k. On MeshHQ 3, after disabling all rendering but prims (meshes fall under the same category as prims in the render pipeline), the peak triangle count per frame was close to 300k/triangles. On that build, there was no LoD enforcement and a ratio of 8KB/prim for mesh costs, so I'm hoping with a ratio of 4KB/prim and strict LoD enforcement, recreating that build within the new criteria will result in under 125k/triangles per frame."


Verify duck.dae cost

  • Upload model, choose duck.dae
  • In the Physics tab of the upload window, choose "Use Level of Detail: Lowest" LOD
  • Click Analyze. Click Simplify. Click Upload.
  • Rez the duck.
  • Resize the duck to 1x1x1m
  • Edit the duck and Verify the resource cost is 3.
  • Resize the duck to 10x10x10m
  • Edit the duck and Verify the resource cost is 7.
  • Resize the duck to 20x20x20m
  • Edit the duck and Verify the resource cost is 11.
  • Resize the duck to 64x64x64m
  • Edit the duck and Verify the resource cost is 24.


Streaming Cost = (MAX(256-Dlowest, 1.0)/32 * KBYTES_IN_LOWEST + MAX(Dlowest-Dlow, 1.0)/32 * KBYTES_IN_LOW + MAX(Dlow - Dmid, 1.0)/32 * KBYTES_IN_MID + MAX(Dmid, 1.0)/32 * KBYTES_IN_HIGH) * COST_SCALER

How can I see KBYTES_IN_LOWEST, KBYTES_IN_LOW, KBYTES_IN_MID and KBYTES_IN_HIGH