They changed the renderer (from patch notes):
We have switched the Mac renderer from OpenGL to MoltenVK (Metal) to support the upcoming release of the upcoming MacOS Mojave.
So either Metal is garbage, the ZOS devs used it poorly, or the current MacOS implementation of it is garbage.
Personally, I'd like to see them ditch cross-platform APIs and upgrade the renderer to DX12. That would probably solve a lot of performance problems related to poor multi-threading for the vast majority of their player base.
kenjitamura wrote: »They changed the renderer (from patch notes):
We have switched the Mac renderer from OpenGL to MoltenVK (Metal) to support the upcoming release of the upcoming MacOS Mojave.
So either Metal is garbage, the ZOS devs used it poorly, or the current MacOS implementation of it is garbage.
MoltenVK is a translation layer. Graphics API's have commands that are meant for the operating systems drivers to receive and interpret then compiled into machine code sent directly to the hardware. Because Apple doesn't support Vulkan those commands meant for Vulkan are going through an extra step to be turned into the command equivalent for Metal so that MacOS can interface with the Vulkan language. It requires the system to work a little harder and reduces FPS a little more than if they had just used a pure Metal implementation. But if done right the impact should really only be about a 10% reduction in FPS over using pure Metal. There's most likely a bug in their code which could either be present in their Vulkan code or in the MoltenVK implementation which means they might have to reach out to Khronos to help fix it.Personally, I'd like to see them ditch cross-platform APIs and upgrade the renderer to DX12. That would probably solve a lot of performance problems related to poor multi-threading for the vast majority of their player base.
Bethesda has partnered with AMD and are making a push to convert most of their games to Vulkan which is probably why ZOS has chosen to use Vulkan instead of having to hire two sets of developers with one trained for Metal and the other trained for DX12.
Vulkan is as good as DX12 when it comes to performance and multi-threading as they are both very low level languages with equivalent feature sets. With that being the case the only real questions the developer needs to ask when deciding between the two are
1. Will it be easier to obtain/reuse developers trained to port to Vulkan or DX12?
2. If the developers are supporting different platforms how much of the code can be reused to save time/money when using DX12 or Vulkan?
As ZOS works with Bethesda they should have a decent ability to draw from their pre-existing Vulkan porting developer pool and since Vulkan can be used on MacOS, albeit with some hacking, it means there is a much greater amount of code that can be shared between the two different platforms rendering paths.
ZOS_GinaBruno wrote: »Thanks all, we're aware and working on making some improvements for an incremental patch.
ZOS_GinaBruno wrote: »Thanks all, we're aware and working on making some improvements for an incremental patch.
ZOS_GinaBruno wrote: »Thanks all, we're aware and working on making some improvements for an incremental patch.