Skip to content
  • Niklas Haas's avatar
    dav1dplay: initial support for --zerocopy · 490a1420
    Niklas Haas authored and Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf committed
    Right now this just allocates a new buffer for every frame, uses it,
    then discards it immediately. This is not optimal, either dav1d should
    start reusing buffers internally or we need to pool them in dav1dplay.
    
    As it stands, this is not really a performance gain. I'll have to
    investigate why, but my suspicion is that seeing any gains might require
    reusing buffers somewhere.
    
    Note: Thrashing buffers is not as bad as it seems, initially. Not only
    does libplacebo pool and reuse GPU memory and buffer state objects
    internally, but this also absolves us from having to do any manual
    polling to figure out when the buffer is reusable again. Creating, using
    and immediately destroying buffers actually isn't as bad an approach as
    it might otherwise seem.
    
    It's entirely possible that this is only bad because of lock contention.
    As said, I'll have to investigate further...
    490a1420