Some Performance observations re: Fortnite Battle Royale in macOS and Win10

Discussion in 'Mac and PC Games' started by Irishman, Jan 16, 2018.

  1. ursulahx macrumors member

    ursulahx

    Joined:
    Jun 22, 2018
    #76
    OK, it's possible I misread some people as saying they had Intel cards. If I can find the posts I'll check.
     
  2. star-affinity macrumors 65816

    star-affinity

    Joined:
    Nov 14, 2007
    #77
    I'm on Nvidia's GTX 970 and textures are currently very messed up for me – glad to hear it's a known issue.

    Screen Shot 2018-08-25 at 22.35.08.png

    Another thing not directly related to Fortnite, but still concerning Metal (Metal 2) performance – I read this article: http://barefeats.com/directx_versus_metal_2.html and it really shows sad numbers for Metal 2 compared to both DirectX 11 and DirectX 12 on the same hardware (frames per second drop a lot lower with Metal 2).

    I'm curious if perhaps @marksatt has any comment on this? Shouldn't Metal 2 at least be little close to the two versions of DirectX?

    I undstand this is just one particular game being tested and I also hear there seems to be some performance improvemens happening for Metal in MacOS Mojave (and IOS 12 for that matter), but still. Of course graphics drivers get a lot of more focus in Windows – I guess are several reasons as to why Metal 2 still gets us so far behind. Hmm…
     
  3. JordanNZ macrumors 6502a

    Joined:
    Apr 29, 2004
    Location:
    Auckland, New Zealand
    #78
    That article isn’t comparing metal to dx11.

    It’s comparing one game (that was written for dx), and translated to metal.

    And then they decided to focus on minimum frame rates for some reason.

    If you look at the averages, they’re extremely close. 102 FPS vs 108 is what I would call close.



     
  4. wubsylol macrumors 6502

    Joined:
    Nov 6, 2014
    #79
    I don’t get their focus on minimum frame rates. There’s no context on the number, so it’s most likely just a split second hitch in performance, barely noticeable by the user.

    Beyond that, once more games start being built for DX12 and Feral update their porting tools for that well start to see improved performance as well. There’s always going to be a performance delta porting an engine designed for DX11 to a low level API like Metal, and Metal is doing great in spite of that.
     
  5. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #80
    Yes, this we know about. Maxwell and Pascal are not officially supported because Apple didn't ship them and don't supply the drivers but I expect when the fix lands you'll find they work again.
    --- Post Merged, Aug 25, 2018 ---
    The averages are within about 20%, that's really not bad at all. Performance & feature parity is the goal and aspiration for those of us who bring games to the Mac, but it cannot be an expectation for high-end AAA games while the current market forces are at work.

    Testing minimum frame rates and identifying what the cause is and why it exists is more involved than simply looking at the slowest frames. Are those frames slow on the CPU or the GPU? If they are slow on the CPU are they slow because we are waiting for shader compilation? For gameplay logic? Disk IO? Not all causes of slow frames are due to the graphics drivers.

    You should never underestimate the advantage DX has by having so many more companies ship so many more games to so many more gamers. All the GPU vendors are engaged and dependent upon Windows performance to drive sales so they are invested in producing high quality drivers for DX. Microsoft & games developers are also thoroughly engaged for the same reason. The Mac market is *tiny* compared to the overall Windows PC market, so simple logic means that it has not received the same investment and thus doesn't work quite so well. There is no grand conspiracy here, just straightforward market realities - no-one involved deserves opprobrium from players because it is really, really hard to be as good as the well-oiled machine that is DX.
     
  6. JordanNZ macrumors 6502a

    Joined:
    Apr 29, 2004
    Location:
    Auckland, New Zealand
    #81
    Exacly. It doesn’t make sense. Especially with the average so close to windows. The minimum can’t have been for anymore than half a second.

    It was almost like they were looking for the worst possible number, context be damned.

     
  7. star-affinity macrumors 65816

    star-affinity

    Joined:
    Nov 14, 2007
    #82
    Well, minimum frame rate is where the big difference (for the bad on the MacOS side) is. And I'd say the minimum frame rates are of importance, especially when they drop so much below 60 frames per second. These drops are the things (at least I and many others) find annoying and affects the game play experience in a negative way, even if they happen for just a split second.

    Alrighty. :)

    Something for Feral to dig into I guess.

    Yes, I'm aware of that. – it's fully understandable. :) Just wish we could get a little bit closer at least. Maybe down the road…
     
  8. wubsylol macrumors 6502

    Joined:
    Nov 6, 2014
    #83
    The minimum is important, but it requires context that a single graph does not provide. Looking at the aforementioned RotTR report from Barefeats, did the benchmark run at 34fps for extended periods? Which stage of the benchmark provided the worst? What was the average for the other two stages? How many times was the benchmark run?

    My point is that the minimum number reported by the benchmarking tool could have been a single shader compilation hitch, only appearing the first time the benchmark is run. This would not dramatically impacted gameplay. We need context to this number.
     
  9. jeanlain macrumors 65816

    Joined:
    Mar 14, 2009
    #84
    As opposed to the average, the "minimum" value must be associated with a time range, or else it means nothing. Is it the lowest frame rate during one frame, one second, two?
     
  10. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #85
    But a benchmark mode is *not* the game and unless you validate that the same occurs in the game then minimum frame rates in the benchmark are not by themselves relevant. Heck, for all I know it could be that if you discount these aberrantly slow frames the Mac average is as good as or better than Windows! As wubsylol, jeanlain and I have all said merely reporting that the minimum is lower isn't terribly illuminating if you don't also highlight for how long and why. If the game-thread was stalled for 30ms waiting for a file read then that has absolutely *nothing* to do with the graphics engine!

    I can't see the value to Feral of optimising the benchmark mode further now that the game is out - it is primarily useful during development while you are debugging and optimising, not post launch.

    And if wishes were horses we'd all be rich. So long as vastly more people buy games on Windows than Mac you can't *expect* the Mac version to achieve perfect parity - sometimes it might but other times it won't. We are *much* closer than we were with OpenGL, particularly toward the end.
     
  11. ursulahx macrumors member

    ursulahx

    Joined:
    Jun 22, 2018
    #86
    Mark - just found this comment on Epic's forum, attached to my post on the issue:

    "I have a mac with the built-in graphics card of "Intel Iris Pro 1536 MB"(macbookpro 15inch late '13). haha yes "balling on a budget" and the problem is still there on my machine."

    I'll ask him if his OS is up to date.
     
  12. Irishman thread starter macrumors 68030

    Joined:
    Nov 2, 2006
    #87
    Just an update on performance differences between Win10 running in Bootcamp and MacOS Mojave (10.14.1). Both OS's up-to-date as of last night. Fornite up-to-date as of yesterday.

    After all the build-up about Mojave, I was hoping to see a continued shrinking of the performance delta between Win10 and macOS, and hopefully see something more competitive. Not to be, apparently. And that's frustrating. The gap is worsening for me, I can play 40-60 fps in Win10 at 1080p, minimum settings, and I am struggling to get 2-20 fps in Mojave, at lowest res I can crank it down to, minimum settings.

    What the hell!?!?
     
  13. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #88
    What have they done? That sounds very broken and is not expected behaviour. There was a time where Windows Medium settings were slightly different than Mac Medium and so rendered and performed differently but nothing like that. There must be a bug somewhere.
     
  14. Irishman, Nov 30, 2018
    Last edited: Nov 30, 2018

    Irishman thread starter macrumors 68030

    Joined:
    Nov 2, 2006
    #89
    An update today, as I have some numbers. I started up Fortnite in macOS and it took me 11 minutes 39 seconds to get from the splash screen to the page where it logs you into your Epic account. Ultimately, I got a "failure to log in" error.
     
  15. MrUNIMOG macrumors 6502a

    MrUNIMOG

    Joined:
    Sep 23, 2014
    Location:
    Hamburg, Germany
    #90
    That definitely sounds broken!
    I haven't played Fortnite since I installed Mojave, will have to try it myself.
     
  16. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #91
    I’ll have a go later today on my MBP which has a 1GB Nvidia 650M - but I wonder if it is just running out of VRAM. The Mac version has always used slightly more than Windows so it might end up paging which would cause the described symptoms.
     
  17. ursulahx macrumors member

    ursulahx

    Joined:
    Jun 22, 2018
    #92
    I started the game up yesterday in MacOS (didn't play) and the loading screen took ages to clear. Didn't time it, sorry. But when it did everything appeared normal.

    I'm having a different problem, which is that sometimes the game will load and not properly recognise my mouse. But that's happening in several contexts, so I don't know if it's anything specifically to do with the game.
     
  18. PJivan macrumors 6502

    PJivan

    Joined:
    Aug 19, 2015
    #93
    Fortnite is one of the worst port around, feral does much better and so did blizzard
     
  19. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #94
    The long loading screen is the precompilation of pipeline state objects, Macs with slower CPUs suffer more as it is a CPU limited operation. It is also dependent on the driver efficiency and some vendors drivers are faster than others. This is the trade-off to reduce the number of in-game hitches that affected playability in earlier builds - it is imperfect but a consequence of the way UE4 works and how Metal is designed and implemented.
    --- Post Merged, Dec 1, 2018 ---
    The Nvidia driver is going off into the weeds when submitting command-buffers when performance really tanks so I suspect resource paging but can't confirm that. That would explain why only Macs with limited VRAM are affected.
    --- Post Merged, Dec 1, 2018 ---
    Not helpful. Feral and Blizzard port specific titles that once released either don't change very much or only infrequently. By contrast we have to work on continuously supporting the entire UE4 engine on macOS and our engine changes dramatically all the time as it is continuously developed for many different projects, not just Fortnite. That's no comfort when the game isn't working well for you, but it is the reality of the situation.

    On many Macs Fortnite runs pretty well versus Windows but that's much easier to achieve on newer/faster Macs than older/slower models. We're still working with the GPU vendors on more improvements to Mac UE4 and the macOS drivers, but they won't appear overnight.
     
  20. 4Sirius macrumors newbie

    Joined:
    Dec 5, 2018
    #95
    marksatt, first I would like to thank you for your responses and say how much I appreciate your explanations. This is absolutely the best thread I have found related to performance of the Mac client of Fortnite.

    With that said, I am becoming very concerned with the degradation in performance on Mac. I own a mid-2017 middle tier iMac with 4gb of VRAM and 16gb of RAM. There was a period of time when I first began playing that I needed to reduce resolution in order to make it even playable but since Season 5, performance improved to average. I had been able to run the game at native resolution with epic view distance and everything else low at an average of 70 FPS.

    At the time of Fortnitemares, that average decreased to around 60 FPS. Since 6.31, there are now serious frame fluctuations where in particular POIs there are repetitive increases and decreases from 70-40 frames per second. This has made the game nearly unplayable as dropping frames in that manner makes an engagement with someone averaging 120 FPS nearly impossible. Particular POIs where I see this are Lonely, racetrack, Viking, and motel but I regularly see it throughout the map.

    Another major issue that has heavily influenced my playing time is server issues. While I recognize it is separate from the majority of this discussion, going from a consistent 20-30 ping to regularly playing at a 70-80 ping is very difficult. This began around the time of the pop-up tournaments.

    While most suggest me Boot camping windows as they are gaining 30-40 frames, as an Apple/Mac owner since the Apple IIc, is rather have a colonoscopy than boot into windows. I have not upgraded to Mojave primarily out of fear of the detrimental effects it will have on the game.

    I say this to ask if there is any real movement toward optimizing Fortnite and truly improving the performance of the Mac client in the near future so that the game is accessible to everyone? Thanks for any input you are able to provide.
     
  21. Irishman thread starter macrumors 68030

    Joined:
    Nov 2, 2006
    #96

    I'm both glad and sorry that someone else is having the same problems that I'm having. Also, an update to my last post, I've tried twice today to play, and I got the same "failure to log in" error from before.
     
  22. 4Sirius macrumors newbie

    Joined:
    Dec 5, 2018
    #97
    Irishman, I’m sorry to hear about your login issues. I have never had any difficulty logging in. I used to have the super long load ins before they were fixed. I wish I could help.

    And thank you for starting this thread. It is appreciated.
     
  23. marksatt, Dec 5, 2018
    Last edited: Dec 5, 2018

    marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #98
    Bah. Slippery iPhone...

    What I was going to write was:

    I can’t do much about server ping. That is way outside my bailiwick.

    If more recent builds have made some spots more problematic then likely that’s content changes showing up different inefficiencies. That’s the danger with a living game. It is a constantly moving target and there are understandably a lot more content folks and non-Mac programmers than Mac programmers who have to try and keep up!

    All I can say is that we hardy few Mac geeks at Epic, including me specifically, keep plugging away at the low level Metal code and shader compiler to try and make the situation better over time. I can’t and won’t promise specific improvements for specific versions because I’m working away at the engine level and there’s a very sensible process between me making changes and the live game to try and make sure that I don’t skittle the thing entirely when I rewrite huge lumps of the Metal code!

    My current tasks are rather more fundamental and while not interesting to players they surely are important for us developers who want to get things done. That said I do now have some areas to look at when I next profile Fortnite, not that I intend to tell anyone when that will be...
    --- Post Merged, Dec 5, 2018 ---
    I really do wish I could promise more as I have been making a *lot* of changes in the Dev-Rendering stream (see it now, live on Github!) but much of this stuff is not an immediate win for Fortnite. It is opening the door to even more work and potential optimisations as I *finally* start making use of some features that I’ve been intermittently trying to push into the engine for a year or so. I won’t talk specifics as it is mostly boring and because I’m not a marketing man, but if you have aUE4 account (free!) and Github you can poke through the commits and see what’s happening.

    MetalRHI needs continuous modernisation to keep up with the other APIs and all of Apple/vendors work and really that’s what I’m here for.

    If only I could clone myself a few more times I might actually get to do everything I would like too...
     
  24. 4Sirius macrumors newbie

    Joined:
    Dec 5, 2018
    #99
    marksatt, really appreciate the response. I guess my primary question was whether or not epic was willing to recognize and put forth the intentional effort to improve the performance specifically for the Mac client. It sounds like you and other Mac-related team members are working behind-the-scenes to improve performance for the engine as a whole but it doesn’t seem that there are very many resources dedicated to specifically improving the performance of the Mac client for Fortnite.

    Just a follow-up to the performance related issues that I was experiencing following the 6.31 update, the frequent increase and decrease in frames per second wasn’t really specific to any particular point of interest. I was just noticing it more frequently in those areas because they are my favorite places to land. Since Season 7 began, there has been an increase in average frames per second to a level that I was previously experiencing prior to the 6.31 update. The difficulty now is those fluctuations in frames per second have transformed into hitches where the frames drop to below 10 frames per second and the game freezes for less than a second at a time. This does seem to occur less frequently with more matches played in the session. We Mac players have experienced these types of symptoms before and I hope that they will be resolved shortly. As a whole though, I feel like the Season 7 update is tremendous outside of the performance related issues.
     
  25. marksatt macrumors regular

    Joined:
    Jun 26, 2013
    #100
    You seem to be looking for allocation of staff directly to Fortnite and promises of a quick fix - that’s above my pay grade and not my place to say. I therefore won’t.

    What I can say is that closing the gap to Windows means making changes deep in the Engine, not in the game. I’ve been aware of several for a while but it takes time and effort to make each change which then unlocks the next and so on. These changes have to go through the engine release process to reduce the risks of breaking the game. You better believe the goal is to improve Fortnite when they are all integrated and brought online - it is the best yardstick we have!

    You’ve also got to realise that it isn’t only Epic. Apple and the GPU vendors also keep tweaking their API and driver code to improve things. There are lots of people who have have contributed and continue to do so whether you know or see or not.

    Which is why it is good to know that, it gives us something to profile specifically and measure against. It is next to impossible to get 100% profiling coverage for any game from the last couple of console generations - they are too big and complex. So you need to find the outlying performance areas and target efforts on them.

    If it gets better as you play then it is probably PSO compilation because we can never provide a 100% complete cache with the Mac version of the game (there are too many potential PSOs due to way UE4 is designed). The Mac version is meant to record any that were missed and the next time you launch the game they will be precompiled - making it less and less likely to occur. If that isn’t happening then something is wrong.
     

Share This Page