Announcement

Collapse
No announcement yet.

Spec Ops: The Line Gets Boosted On Mesa With GL Threading

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

  • #11
    Originally posted by frosth View Post
    Yeah, it was probably my first game which i played exclusively on linux. Nice to hear that it runs better these days



    What are you talking about? I've played in windows with c2d 2,5gh + hd7770 (1gb) on mid/high. In linux... so there were some problems but it should work quite well* now.
    @artivision,
    Witcher2 ain't console port.

    *quite well for "wrapper" port ofc

    edit:
    oh, it pass too many years. c2d & hd7770 it was for witcher3 (windows) and witcher2 (linux), whatever.
    IIRC i've played witcher2 with nvidia 9600GT + pentium dual core e2180
    What am I talking about? Not peak frame rate, no. Things like the game freezing for several seconds every time a quest state is updated. Long loading times. Crashes with many save files. Ignoring a huge amount of controller/keyboard input.

    In addition to this, yes, there are performance issues too, on hardware as old as the game is. If you played on C2D, you do remember the single digit frame rates when fighting 20+ soldiers in Loc Muinne and similar oddities. Today's CPUs can brute force it, it doesn't mean the game engine isn't garbage. Check the Witcher 3 on the exact same ancient hardware. It will run better than 2. (At minimum settings of course, which still is above TW2 max.)

    Comment


    • #12
      Originally posted by frosth View Post
      *quite well for "wrapper" port ofc
      The port has actually become quite decent in terms of performance, on my system it's merely 15% behind the Windows version, both being bottlenecked by the CPU all the time (which tends to happen when you throw a 2011 game at an RX 480). I remember it being a complete disaster when it first launched - back then I even had an Nvidia card - but nowadays I don't see any reason not to play it on Linux.

      Since this game has a few years of the launch on Linux, it serve as a good point to measure the advances of Mesa.
      tbh mesa_glthread is one of the best things that could happen to Mesa, helps my old CPU out a lot - sadly some games don't benefit at all, such as The Witcher 3 on wine, which... well, is somewhat playable, but drops all the way down to 15 FPS in crowded areas where the Windows version maintains a stable 60 FPS.
      Last edited by VikingGe; 10 October 2017, 09:11 AM.

      Comment


      • #13
        Originally posted by eydee View Post

        Witcher 2 just performs terribly even is native windows. It is badly coded.
        ? runs fine here. 4k highest settings (-ubersampling) @50 fps on fury x with [email protected] opensuse tumbleweed.

        Comment


        • #14
          Originally posted by jaycee1980 View Post

          You are completely wrong. The reason CSMT has a single GL worker thread is because GL is inherently single threaded. A GL context can only be owned by one thread at once, and switching contexts is an expensive pipeline stalling operation. Likewise creating contexts which share resources is a slow path. It is "faster" to marshall all of the work onto one thread, which is exactly what CSMT and eON do. It is a fundamental limitation of GL.

          Witcher 2 is not single threaded.
          You did understand wrong. I was referring to D3D11 on OGL4.5 that doesn't have the limitations of OGL3. If the game offers 4 rendering threads then you should open 4 OGL threads.

          Comment


          • #15
            Originally posted by artivision View Post
            You did understand wrong. I was referring to D3D11 on OGL4.5 that doesn't have the limitations of OGL3. If the game offers 4 rendering threads then you should open 4 OGL threads.
            OpenGL 4.5 has nothing to do with it. OpenGL doesnt thread - period. The "threading" in Mesa does not mean that they added support for using GL from multiple threads - it means Mesa can offload tasks to background threads, allowing the main thread to continue executing commands rather than being stalled.

            Comment


            • #16
              That, and D3D11 Deferred Contexts are called deferred for a reason. They basically record command lists which are then played back on the immediate context (aka the rendering thread). OpenGL has no support for such a thing, so Wine basically has to emulate it in software.

              Comment

              Working...
              X