Announcement

Collapse
No announcement yet.

OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?

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

  • #21
    This sounds very interesting.

    For me Cities:Syklines performs really bad (also with newest patch) on my GTX970 so I'd like to set that variable to test it. But how do I do it? Could anybody please instruct me to set it?

    And is there a way to ensure that C:S is not overriding it?

    Comment


    • #22
      Originally posted by ungutknut View Post
      This sounds very interesting.

      For me Cities:Syklines performs really bad (also with newest patch) on my GTX970 so I'd like to set that variable to test it. But how do I do it? Could anybody please instruct me to set it?

      And is there a way to ensure that C:S is not overriding it?
      In Steam ? Edit command line: right click -> advanced -> command line:
      Code:
      __GL_THREADED_OPTIMIZATIONS=1 %command%
      or 0

      Comment


      • #23
        Originally posted by Licaon View Post
        In Steam ? Edit command line: right click -> advanced -> command line:
        Code:
        __GL_THREADED_OPTIMIZATIONS=1 %command%
        or 0
        Thanks for help. But it seems like it doesn't affect the performance. Only loading the game now takes about 10x longer.

        Comment


        • #24
          Originally posted by ungutknut View Post
          Thanks for help. But it seems like it doesn't affect the performance. Only loading the game now takes about 10x longer.
          It won't work for the games that overwrite the value in their startup scripts.

          Comment


          • #25
            Originally posted by ungutknut View Post
            Thanks for help. But it seems like it doesn't affect the performance. Only loading the game now takes about 10x longer.
            Actually, if I'm not mistaken, the correct command should be: LD_PRELOAD="${LD_PRELOAD} libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 %command%
            But the thing is it can make performance worse in some games.

            Comment


            • #26
              Originally posted by gens View Post
              dota2 using 200% cpu with one core maxed out is not my cpu's fault, it's the translation layers fault
              latest amd's are decent cpus

              it's funny when a game runs better on wine then "native"
              This used to be true, but lately "native" performs much better than wine (at least on boxes I tested with, intel and nvidia cards). On the other hand, wine has much better memory requirements.
              CSMT and Threaded optimizations are same ideas, basically they offload all GL related work into separate pipeline (queue). Problem being though that most games on OpenGL are CPU bound rather than graphic bound and this adds extra overhead. This said, most people should notice performance improvements on multicore machines whereas people with relatively few cores (2, no HT) can get lesser performance.
              Overall, average fps typically goes up, but chances are that worst frame time performance can suffer (e.g. its better to have 60fps while frame render time is in <1/70, 1,50>s range than to have 80fps with <1/85, 1/35> ranges.
              These few "slow frames" can drasticly worse perceived performance even when fps (average) goes up.

              Comment


              • #27
                Originally posted by xylef View Post
                Actually, if I'm not mistaken, the correct command should be: LD_PRELOAD="${LD_PRELOAD} libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 %command%
                But the thing is it can make performance worse in some games.
                Hmm, isn't it easier to use nvidia-settings and enable it from application profiles?

                Comment


                • #28
                  Originally posted by tuke81 View Post
                  Hmm, isn't it easier to use nvidia-settings and enable it from application profiles?
                  No, it isn't.

                  Comment


                  • #29
                    Originally posted by xylef View Post
                    No, it isn't.
                    well granted I haven't messed with profiles a lot, and don't know if it is truly effective this way. But this does not look very hard:
                    Code:
                    $ cat .nv/nvidia-application-profiles-rc
                    {
                        "profiles": [
                            {
                                "name": "Gl_threaded_opt",
                                "settings": [
                                    {
                                        "key": "GLThreadedOptimizations",
                                        "value": true
                                    }
                                ]
                            }
                        ],
                        "rules": [
                            {
                                "pattern": {
                                    "feature": "procname",
                                    "matches": "MatineeFightScene"
                                },
                                "profile": "Gl_threaded_opt"
                            },
                            {
                                "pattern": {
                                    "feature": "procname",
                                    "matches": "X3R_main"
                                },
                                "profile": "Gl_threaded_opt"
                            }
                        ]
                    }

                    Comment


                    • #30
                      Originally posted by tuke81 View Post
                      well granted I haven't messed with profiles a lot, and don't know if it is truly effective this way. But this does not look very hard:
                      Code:
                      $ cat .nv/nvidia-application-profiles-rc
                      {
                          "profiles": [
                              {
                                  "name": "Gl_threaded_opt",
                                  "settings": [
                                      {
                                          "key": "GLThreadedOptimizations",
                                          "value": true
                                      }
                                  ]
                              }
                          ],
                          "rules": [
                              {
                                  "pattern": {
                                      "feature": "procname",
                                      "matches": "MatineeFightScene"
                                  },
                                  "profile": "Gl_threaded_opt"
                              },
                              {
                                  "pattern": {
                                      "feature": "procname",
                                      "matches": "X3R_main"
                                  },
                                  "profile": "Gl_threaded_opt"
                              }
                          ]
                      }
                      He asked how to enable it from the steam client, which consist on right-clicking on the game, click on set launch options, paste the launch options, click ok.
                      I don't see how is it easier making a profile...

                      Comment

                      Working...
                      X