Slashdot Mirror


Square Enix Pulls, Apologizes For Mac Version of Final Fantasy XIV

_xeno_ writes: Just over a week after Warner Bros. pulled the PC version of Batman: Arkham Knight due to bugs, Square Enix is now being forced to do the same thing with the Mac OS X version of Final Fantasy XIV (which was released at the same time as Batman: Arkham Knight). The rather long note explaining the decision apologizes for releasing the port before it was ready and blames OS X and OpenGL for the discrepancy between the game's performance on identical Mac hardware running Windows. It's unclear when (or even if) Square Enix will resume selling an OS X version — the note indicates that the development team is hopeful that "[w]ith the adoption of DirectX 11 for Mac, and the replacement of OpenGL with a new graphics API in Apple's next OS, the fundamental gap in current performance issues may soon be eliminated." (I'm not sure what "the adoption of DirectX 11 for Mac" refers to. OS X gaining DirectX 11 support is news to me — and, I suspect, Microsoft.) Given that the game supports the aging PS3 console, you'd think the developers would be able to find a way to get the same graphics as the PS3 version on more powerful Mac OS X hardware.

5 of 94 comments (clear)

  1. Re: DirectX 11 for Mac by adler187 · · Score: 4, Informative

    Probably referring to http://boilingsteam.com/codewe...

  2. Re:Why release it? by carlhaagen · · Score: 4, Informative

    I've programmed portable OpenGL-based applications for many years for the three dominant desktop platforms - Windows, Linux, OS X - and I have no idea which million issues on OS X and its implementation of OpenGL it is you refer to.

  3. Re:DirectX 11 for Mac by beelsebob · · Score: 3, Informative

    No, Metal for Mac, which is a graphics API that works in a similar way to D3D 11/12. i.e. not a state machine, but instead issuing buffers of commands based on pre-verified states.

  4. Re:Blaming their tools by beelsebob · · Score: 4, Informative

    That would be because the PS3 and PS4 use sony's proprietary graphics API that looks nothing like OpenGL.

    The OpenGL API contains various features that are simply not conducive to writing either a fast implementation of the standard, or a fast application that uses it. The two main issues are:

    1) That OpenGL is a state machine, draw calls are issued at arbitrary moments when in arbitrary states. This means that the implementation can't validate that the draw call was made in a valid state until you actually make the call. That doesn't sound like much, but it actually turns out to be a major headache. It means that compiling shaders can end up delayed until you actually make a call because you don't know what vertex formats it'll read, what blending modes it'll use, etc. It means that uploading data can be delayed until you make a call because you don't know what format it needs to be in. It means that blobs of data can't be placed in the right area of memory because you have no knowledge of whether the memory needs to be for fast reading only, fast read and write (only on the GPU), pulling off the GPU onto the CPU etc.
    2) That lots of OpenGL operations are explicitly thread safe, and there's no way to tell OpenGL about the fact that two operations won't interfere with each other. Want to overwrite an area of a texture for the next frame while the previous frame was rendering because you have knowledge that the two won't try to read and write the same area at the same time? Nope, tough shit, can't be done. Uploading the texture will block waiting for the GPU to finish rendering with it.

    Apple acknowledges that these are problems, and as a result, they've made their own graphics API (Metal) which is much more similar to how D3D and Sony's proprietary APIs work. Thankfully, the next OpenGL spec (code name Vulcan) will head towards this way of doing things, and maybe we can get back to the standard open way of doing things being reasonable.

  5. Re:Why release it? by jo_ham · · Score: 3, Informative

    You don't need Apple's drivers for bootcamp for the GPU - you can just install the AMD or Nvidia ones that AMD and Nvidia supply for windows.

    The one Apple ships with the bootcamp driver package (that you install from a USB stick when you first set up windows and has everything you need for the keyboard, networking, bluetooth, etc) includes one of those OEM drivers from AMD or Nvidia, it just tends to be an older one since they don't update the package all that often.

    Once you have windows installed though it's no different to any other windows machine in terms of GPU drivers.