Example #1
0
    def createAuxiliaryStatisticsTable(self):
        yNumTriangles = 0
        yTexelUploads = 0
        yRasterizerPixels = 0
        yAvgTriangleSize = 0.0

        for event in self.trace.events:
            if event.sensorData.get("rasterizer_pixels", 0):
                yRasterizerPixels += 1
            if event.sensorData.get("average_triangle_size", 0):
                yAvgTriangleSize = 4.3
            if event.sensorData.get("triangles_in", 0):
                yNumTriangles += event.sensorData["triangles_in"]
            if event.sensorData.get("texel_uploads", 0):
                yTexelUploads += event.sensorData["texel_uploads"]

        t = Report.Table(["Property", "Value"])
        t.addRow("Total triangles submitted", yNumTriangles)
        t.addRow("Number of triangles submitted per frame",
                 float(yNumTriangles) / len(self.frames))
        t.addRow("Total texel uploads", yTexelUploads)
        t.addRow("Number of uploads per frame",
                 float(yTexelUploads) / len(self.frames))
        t.addRow("Rasterizer pixels", yRasterizerPixels)
        t.addRow("Average triangle size", yAvgTriangleSize)

        return t
Example #2
0
    def createCallHistogramTable(self):
        t = Report.Table(["Call", "# of Calls"])

        hist = TraceOperations.calculateCallHistogram(self.trace)
        values = [(count, name) for name, count in hist.items()]
        for i, value in enumerate(sorted(values, reverse=True)):
            count, name = value
            t.addRow(name, count)

        return t
Example #3
0
    def createGeneralStatisticsTable(self):
        t = Report.Table(["Property", "Value"])

        duration = self.frames[-1].endTime - self.frames[0].startTime
        t.addRow("Events", len(self.trace.events))
        t.addRow("Frames", len(self.frames))
        t.addRow("Duration", StringUtils.normalizeTimeValue(duration))
        t.addRow("Render calls",
                 sum([len(f.renderEvents) for f in self.frames]))

        averageFps = len(self.frames) / duration
        averageCalls = sum([len(f.events)
                            for f in self.frames]) / float(len(self.frames))

        t.addRow("Average FPS", "%.02f" % averageFps)
        t.addRow("Average calls per frame", "%.02f" % averageCalls)
        return t