<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [amdgpu] Rocket League: long hangs (several seconds) when loading assets (models/textures/shaders?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=97879#c55">Comment # 55</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [amdgpu] Rocket League: long hangs (several seconds) when loading assets (models/textures/shaders?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=97879">bug 97879</a>
              from <span class="vcard"><a class="email" href="mailto:ttimo@ttimo.net" title="Timothee Besset <ttimo@ttimo.net>"> <span class="fn">Timothee Besset</span></a>
</span></b>
        <pre>Rocket League uses an async I/O thread to stream in content in the background.
That thread works off of a queue and only does disk reads and decompression (it
doesn't issue any OpenGL calls for instance, that happens on a dedicated render
thread).

The CPU usage you are seeing out of Rocket League is this thread being busy
with decompression. This is generally normal and not an indication of a
problem.

However, when running with radeonsi, the async I/O thread is performing very
poorly. Much, much worse than with amdgpupro. To the point that the main thread
has to wait for async and causes a significant hitch (up to 4 seconds in some
logs I captured).

I tend to agree that this problem is not related to shader compilation. The
bumps from shader compilation are barely showing up in profiles. But it's
definitely made a lot worse by running on radeonsi. On the same system with
amdgpupro those same hitches can happen but they are in the 100/200ms range.

At this point of the investigation, and due to scheduling constraints, I am
likely only going to come back to this once Timothy Arceri has a shader cache
implementation available. I suspect this will not help significantly but let's
hope I'm wrong there.

In the meantime there are some log files from the async thread compared between
radeonsi and amdgpu-pro if someone feels like extracting some possibly useful
data:

<a href="https://www.dropbox.com/s/d73jk66uhfrhv8l/amdgpupro-compressedread-timings.log?dl=0">https://www.dropbox.com/s/d73jk66uhfrhv8l/amdgpupro-compressedread-timings.log?dl=0</a>
<a href="https://www.dropbox.com/s/1xfl3l24f5buzs0/radeonsi-compressedread-timings.log?dl=0">https://www.dropbox.com/s/1xfl3l24f5buzs0/radeonsi-compressedread-timings.log?dl=0</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>