Mesh/Mesh Accounting Test

From Second Life Wiki
< Mesh
Revision as of 08:02, 14 October 2010 by Vir Linden (talk | contribs) (moved Mesh Accounting Test to Mesh/Mesh Accounting Test: Standardizing doc names.)
Jump to navigation Jump to search

Basic Testing

  • Using a mesh enabled viewer and connected to a mesh enabled sim, enable the render info debug display (develop->show info->show render info).
  • Select a mesh object.
    • Observe: Selected mesh triangle count and streaming cost should be reflected in debug display
  • Edit a mesh object
    • Observe: "Cost" information should be displayed in edit tool, including overall object cost and physics cost
    • Observe: "Cost" may be higher than physics cost, indicating the object's cost is bound by streaming cost
    • Observe: "Cost" may be equal or nearly equal to physics cost, indicating the object's cost is bound by physics cost

Physics vs Streaming

  • Select a mesh object that has a mesh based physics representation and set its physics shape type to "Prim"
  • Scale object down until the reported physics cost increases and the object cost is bound by physics
  • Change the object's physics shape type to "Convex Hull"
    • Observe: the object's cost should be similar to the streaming cost reported in the streaming cost debug display, indicating the object is bound by streaming cost

Prim parcel limits

  • Attempt to exceed a parcel's prim limit using mesh objects of varying cost characteristics (some physics bound, some streaming bound).
    • Observe: mesh objects should be returned when the parcel limit is reached, just like normal prims

Scale Limits (unimplemented)

  • Attempt to exceed a parcel's prim limit by scaling an existing prim (either by scaling an object too large to overflow via streaming cost or scaling a mesh based physics representation too small to overflow physics cost).
    • Observe: scale operation should clamp scale to lowest/highest limit without overflowing the parcel limit
    • Observe: Scripted scale calls should behave similarly.

Evaluation of Efficacy

The goal of the mesh streaming cost algorithm is to prevent a single scene from exceeding the polygon budget. At the very least, it should not be possible to create a mesh based build that causes more triangles per frame to be rendered than an equivalent prim based build. Ideally, the mesh streaming cost algorithm should achieve no more than 250K triangles per frame from inworld geometry with graphics preferences set to "High." To test, you can compare streaming cost of mesh objects vs similar prim objects using the debug display described above, or you can disable all rendering types besides prims/alpha and observe the number of triangles per frame reported in the statistics floater.

See Also