Skip to content

GPU timings are wrong in release mode #34

Description

@linkmauve

When I run the encode_bench example in release mode, the GPU timings are wildly wrong:

=== Testing H264 with Default tuning ===
Config: Cbr, bitrate=8000000, GOP=120, B-frames=0
Encoded 300 frames, 300677 bytes, 3103.4:1 compression
GPU Encode timings: Min: 1.213583ms, Max: 5509.59579136s, Avg: 3666.656801518s, P99: 5509.5853056s, Total: 1096330383ms
Frame Latency Encode timings: Min: 2.006408ms, Max: 8.098792ms, Avg: 3.588754ms, P99: 4.868367ms, Total: 1073ms
Wall Latency Encode timings: Min: 1.956413ms, Max: 7.935761ms, Avg: 3.531354ms, P99: 4.729837ms, Total: 1055ms

In debug mode everything is a bit slower and consumes more CPU, but the GPU timings are correct:

=== Testing H264 with Default tuning ===
Config: Cbr, bitrate=8000000, GOP=120, B-frames=0
Encoded 300 frames, 300677 bytes, 3103.4:1 compression
GPU Encode timings: Min: 2.9995ms, Max: 7.195667ms, Avg: 4.952396ms, P99: 6.743583ms, Total: 1480ms
Frame Latency Encode timings: Min: 3.139149ms, Max: 7.440555ms, Avg: 5.142626ms, P99: 7.002523ms, Total: 1537ms
Wall Latency Encode timings: Min: 3.072359ms, Max: 7.321645ms, Avg: 5.06514ms, P99: 6.930739ms, Total: 1514ms

This is with the anv driver, on a Kaby Lake GPU, from Mesa master (commit 2b7a72457a55b80e02700debdbc11037db7201e2), with ANV_DEBUG=video-encode set, on pixelforge master.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions