Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Is there a numerical relationship between $MaliRayTracingIntersectionsOpaqueTriangleHits and $MaliRayTracingIntersectionsRayMisses and $MaliRayTracingTriangleBatchesTested?

in mobile studio Streamline data,I found that $MaliRayTracingIntersectionsOpaqueTriangleHits and $MaliRayTracingIntersectionsRayMisses represent the number of hits and misses that the triangle intersects with the ray.

and $MaliRayTracingTriangleBatchesTested represents the time when the triangle intersection test is.

There are no transparent objects in the scene. And the firstHit is not set.

So I understand that the sum of $MaliRayTracingIntersectionsOpaqueTriangleHits and $MaliRayTracingIntersectionsRayMisses should be equal to $MaliRayTracingTriangleBatches  * 16. However, the actual situation is not completely consistent, how to understand the relationship between these items?

Parents
  • If divergence exists, there should be no "$MaliRayTracingTriangleBatches x 16 < $MaliRayTracingIntersectionsOpaqueTriangleHits + $MaliRayTracingIntersectionsRayMisses" scenario?

    I had a test where only 1 square was left in the scene, consisting of 2 triangles, and the light was evenly directed towards the square.
    The $MaliRayTracingTriangleBatches*16 I ended up with was much smaller than $MaliRayTracingIntersectionsOpaqueTriangleHits $MaliRayTracingIntersectionsRayMisses. What could have caused this?

Reply
  • If divergence exists, there should be no "$MaliRayTracingTriangleBatches x 16 < $MaliRayTracingIntersectionsOpaqueTriangleHits + $MaliRayTracingIntersectionsRayMisses" scenario?

    I had a test where only 1 square was left in the scene, consisting of 2 triangles, and the light was evenly directed towards the square.
    The $MaliRayTracingTriangleBatches*16 I ended up with was much smaller than $MaliRayTracingIntersectionsOpaqueTriangleHits $MaliRayTracingIntersectionsRayMisses. What could have caused this?

Children
  • Checked with the hardware team, and "batches" can contain more than one triangle that needs testing. For your example with two triangles a single batch likely contains both triangles.

    Because batch size is variable there isn't a consistent relationship between batch size and the other counters. $MaliRayTracingCyclesTriangleTesterActive should be closer to what you want, but will include stall cycles that the Hit/Miss counters do not. 

  • So we can't compare $MaliRayTracingTriangleBatches with other items, because this attribute is an independent calculation rule, and a count of this attribute may actually involve intersections with multiple triangles? Is this principle easy to explain?

    In addition, the $MaliRayTracingCyclesTriangleTesterActive attribute you mentioned, I don't see it in the configuration options, this should be the number of counters, right? But I want to know the number of intersections of triangles and boxes, can you convert them from this attribute?

  • So we can't compare $MaliRayTracingTriangleBatches with other items,

    Correct.

    the $MaliRayTracingCyclesTriangleTesterActive attribute you mentioned, I don't see it in the configuration options

    Should be called "Ray tracing triangle tester issue cycles". There is a similar counter for the box testers.

    ut I want to know the number of intersections of triangles and boxes, can you convert them from this attribute?

    Total number of triangle intersections should be the sum of $MaliRayTracingIntersectionsNonOpaqueTriangleHits, $MaliRayTracingIntersectionsOpaqueTriangleHits, $MaliRayTracingIntersectionsRayMisses.

    Can't see a way to get total number of ray-box intersections from from the counters.