Announcement

Collapse
No announcement yet.

Arceri Is Still Working To Improve GLSL Compile Times For Mesa

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Arceri Is Still Working To Improve GLSL Compile Times For Mesa

    Phoronix: Arceri Is Still Working To Improve GLSL Compile Times For Mesa

    For those wondering what Valve Linux developer Timothy Arceri has been working on with KHR_no_error settling down and the like, he still is striving towards faster GLSL compilation times to in turn speed up Linux game loading performance...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Cool work. I don't personally consider load times to be that big of an issue now days, but I seriously expect these compiler enhancements to improve runtime performance too. Lighter always ends up being faster. Good job.

    Comment


    • #3
      Shader compilation can benefit a lot from being multithreaded.

      Comment


      • #4
        Originally posted by duby229 View Post
        Cool work. I don't personally consider load times to be that big of an issue now days, but I seriously expect these compiler enhancements to improve runtime performance too. Lighter always ends up being faster. Good job.
        It's not so much about load times, shader compiles often happen in the middle of play/operation, and even if managed well (by the game) they can delay a frame substantially.

        Originally posted by shmerl View Post
        Shader compilation can benefit a lot from being multithreaded.
        That's not always true, even assuming you mean that it would run asynchronously until a draw. If you mean multithreading within a given shader compile, you're probably not going to see any benefit from that, at least not without a lot of work.
        Last edited by microcode; 07 August 2017, 12:33 PM.

        Comment


        • #5
          Originally posted by microcode View Post
          That's not always true, even assuming you mean that it would run asynchronously until a draw. If you mean multithreading within a given shader compile, you're probably not going to see any benefit from that, at least not without a lot of work.
          Take something like Trine 3, which takes some ridiculous time on startup compiling shaders with Mesa, while Nvidia blob does it way way faster. I suppose it's because all that it heavily parallelized there.

          Comment


          • #6
            Originally posted by microcode View Post
            It's not so much about load times, shader compiles often happen in the middle of play/operation, and even if managed well (by the game) they can delay a frame substantially.


            That's not always true, even assuming you mean that it would run asynchronously until a draw. If you mean multithreading within a given shader compile, you're probably not going to see any benefit from that, at least not without a lot of work.
            Well radeonsi has a shader cache now, so shader compilation speed should be pretty much irrelevant once the cache is warmed up.
            Still, doing the same thing faster is always appreciated.

            Comment


            • #7
              Originally posted by shmerl View Post

              Take something like Trine 3, which takes some ridiculous time on startup compiling shaders with Mesa, while Nvidia blob does it way way faster. I suppose it's because all that it heavily parallelized there.
              mesas shader compiler is threaded since 1 or 2 years already...

              Comment


              • #8
                Originally posted by tomtomme View Post

                mesas shader compiler is threaded since 1 or 2 years already...
                Not on every step as far as I know (there is frontend, backend and etc.).

                Comment


                • #9
                  Originally posted by Masush5 View Post

                  Well radeonsi has a shader cache now, so shader compilation speed should be pretty much irrelevant once the cache is warmed up.
                  Still, doing the same thing faster is always appreciated.
                  It already had one before, just in memory not on disk.

                  Comment


                  • #10
                    Originally posted by Masush5 View Post
                    Well radeonsi has a shader cache now, so shader compilation speed should be pretty much irrelevant once the cache is warmed up.
                    Still, doing the same thing faster is always appreciated.
                    Games sometimes generate new shaders at runtime now, who knows. I think the baseline shader compile speed is still very important, even if we're talking about a Vulkan driver. It has to finish compiling the shaders at some point, sooner seems better than later.

                    Comment

                    Working...
                    X