Is it fair to say my bottleneck is the GPU?

Discussion in 'Mac mini' started by marker227, May 14, 2018.

  1. marker227 macrumors 6502

    Joined:
    Mar 29, 2004
    #1
    Hey all,

    I have a late 2012 Quad-Core i7 Mac Mini with the max ram and 2 SSD's.

    I love the machine, however I'm having some speed issues that I'm wondering if it's related to the onboard GPU.

    I sometimes use my Logitech 920 webcam to stream to one or more sites using OBS or the websites internal flash player/encoder. I'm noticing that if I attempt to stream to more than one site the frames are somewhat unstable and it's almost impossible to keep the stream going.

    Second of all, if I'm running multiple applications while I'm doing this sometimes the computer can slow down a little bit.

    I'm wondering if this is the result of my GPU or is the bottleneck somewhere else? If it is the GPU, I was researching the possibility of adding an external GPU to solve the issue.
     
  2. ActionableMango macrumors G3

    ActionableMango

    Joined:
    Sep 21, 2010
    #2
    You should check your own system.

    You can just check Activity Monitor to see if anything is pegged (CPU and memory for example). Activity Monitor doesn't check GPU use, so you'll need something like atMonitor for that.

    It's also entirely possible that there is no hardware bottleneck at all and you have unrelated, badly behaving software that is eating up your resources--check to see which processes are using CPU cycles in Activity Monitor.

    If by "flash" you mean Adobe Flash, then that is known for being extraordinarily inefficient on MacOS, which is one of the reasons why Steve Jobs hated it so much. It was badly written for Mac, and so Flash-based benchmarks made MacBooks look like they were underperforming compared to Windows notebooks, when really it was just crappy software. Also, Flash is long deprecated. Adobe themselves say to move on. You should if you can.
     
  3. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #3
    I use flash web based player for broadcasting when OBS acting up. Which is rare.

    Normally, I run two instances of OBS to broadcast. It seems that the camera feed sometimes stutters on one stream, but not the other. If I only run one stream at a time, I seem to have no issues at all. I'm leaning towards a trans-coding issue or something to do with the hardware.

    I haven't been able to bring up the activity monitor and check what's going on when this is happening. Maybe I'll be able to try that tonight.
     
  4. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #4
    Yes, the GPU is the major bottleneck in your machine. SCNR :p:cool: (even though it’s not completely untrue, unfortunately)
     
  5. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #5

    Would an alternative option be to buy an external GPU and plug it into the Mac Mini?
     
  6. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #6
    Surely an eGPU could be an option, albeit no official one, as Apple has ceased supporting Thunderbolt 1&2 for that. So to enable an eGPU for the mini, you'd need to do a little tinkering (check the forums at egpu.io (Link) for more details).

    However, it is quite an investment: An external box is minimum $150 plus the cost for a proper GPU (say another $150 minimum), without any guarantee that your problems could be solved that way. As ActionableMango already wrote, Flash on macOS usually provides a poor user experience, no matter what.

    There is still a chance, that by throwing enough resources at it, it might hide the structural problems of Flash.
    But there is a risk.

    For sure you'd increase power consumption (relevant e.g. for 24/ server duty). And with the cost for that mini plus an eGPU you could alternatively consider a classic Mac Pro, which would also require some tinkering for modern graphic cards, but would offer more CPU power together with offering internal PCIe slots.
     
  7. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #7
    Which Mac Pro are you suggesting? I really enjoy the form factor of the Mac Mini. Isn't a Mac Pro a huge investment though?
     
  8. opeter macrumors 68000

    opeter

    Joined:
    Aug 5, 2007
    Location:
    Slovenia, EU
    #8
    I think, he means a used 2009/2010 model.
     
  9. Neodym, Jul 9, 2018
    Last edited: Jul 10, 2018

    Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #9
    Not sure it even would need to be a 4,1/5,1. Perhaps the 2008 would already be sufficient (and is still cheaper to get on the used market).

    I can fully understand the OP's preference for the mini, though, and there is no guarantee that a cMP would be able to do where the mini fails (despite the cMP being prepared for number crunching significantly better than the mini).

    It's just that I'm toying with a used 1,1 machine again myself (vs. going eGPU on the Late 2012 vs. waiting for whatever Apple might release in the coming months) and wanted to present that alternative to the OP. I have nice memories of my former 1,1 and am mainly held back by the high idle power of any MP (as the mini is doing 24/7 server duty).
     
  10. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #10
    This is frustrating indeed. I don't need a lot of performance for what my Mac currently does. This is literally the only intensive thing I do on it at the moment.

    These options are really limiting.
     
  11. tbobmccoy macrumors 6502a

    tbobmccoy

    Joined:
    Jul 24, 2007
    Location:
    Austin, TX
    #11
    My Mini can’t push 4K content (processor bottleneck). No mini apparently can through a Plex server. I’m hoping the 2018 Mini is a real thing. I need an upgrade.
     
  12. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #12
    I've had success with running my Mac Mini as a Plex server.
     
  13. tbobmccoy macrumors 6502a

    tbobmccoy

    Joined:
    Jul 24, 2007
    Location:
    Austin, TX
    #13
    Does it push out 4k 60fps? Playing h.265 is impossible for it. Other than that, it's been a good server.
     
  14. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #14
    I believe I have it set to 1080P, but I downscale it to like 720p at work. I'm not sure the FPS though. I've been satisfied with it.

    I'm looking at my Activity Monitor now. It says I'm using 6.83 GB ram out of 16 GB. It also says OBS is at a 61.3 energy impact x2 (for two instances). CPU stats say 28.15% user and 12.48% system.
     
  15. mmomega macrumors demi-god

    mmomega

    Joined:
    Dec 30, 2009
    Location:
    DFW, TX
    #15
    Open Activity Monitor, Window, GPU History. It will open a window showing GPU Usage.

    If you have more than one GPU it will show every one connected.
    It isn't numerical data but it gives a visual of how hard the GPU is being taxed.

    Between this and CPU usage Window, you should be able to see which is being used more.
    Screen Shot 2018-07-13 at 6.58.17 PM.png
    Screen Shot 2018-07-13 at 7.01.12 PM.png
     
  16. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #16
    Thanks! Here are my results after about 5 minutes:
     

    Attached Files:

  17. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #17
    If I’m reading those values correctly, the bottleneck actually seems to be the CPU rather than the GPU (which seems to proof the poor state of Flash on the Mac). But before I recommend a MacPro again (which should help in this situation), I’d like to know whether other tasks are running in the background, contributing to the CPU load.

    Activity monitor shows the percentage of CPU time by task. Could you have a look on that and see if your application sees something around 200% or more, especially when the problems arise? Also keep an eye on whether other tasks spike in CPU load. AFAIK there is no history like in the attached overview, so you’d need to do that manually (unless someone can correct me here).
     
  18. marker227, Jul 14, 2018
    Last edited: Jul 14, 2018

    marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #18
    Here you go.

    How does that look like it's more CPU intensive than GPU? Under the bottom of Activity Monitor, it says "user 28%". That's not a lot of CPU being used when I'm running my programs.
     

    Attached Files:

  19. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #19
    The former attachment showed the CPU being pegged close to the max., as the beginning showed all threads hitting the upper limit (admittedly some going back over time). At the same time, the GPU indicators were in the lower quarter of the window all of the time.

    The activity monitor shows a momentary situation, which can only complement the other view.

    Could it be your network environment? Are you connected via WLAN or Ethernet? How fast is your internet connection?
     
  20. marker227, Jul 14, 2018
    Last edited: Jul 14, 2018

    marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #20
    I have a gigabit connection. I am using Ethernet.

    So, between the GPU and the CPU, it sounds like the CPU is the problem? Which means you're going to recommend the previous generation of Mac Pro's for me? :)

    I might just have to tough this out for the meantime. I'm not very fond of the options I have at the moment.
     
  21. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #21
    Well, I’m running out of ideas (from a remote position). If the problems arise from random spikes driving the CPU to the max., a MacPro could help (especially with a higher core count and frequency), but you might pay a high price for pure guesswork.

    Only other ideas that remain from my side:
    • Monitor SSD access (disk tab in activity monitor) and check SSD for S.M.A.R.T. errors. Make sure TRIM is active on both.
    • Make sure your network is stable, i.e. cables, router etc. are not flakey. A good portion of Internet modems / routers are said to have problems with internal logs running over after lot of traffic, requiring reboot. Also, a Gigabit Internet connection not only is pretty unusual these days, but also requires some powerful modem/router in the first place (you’re sure your external connection is Gigabit?).
    • Check the activity monitor constantly to see if something unusual is visible when the problems occur. Keep track of things like time, as Internet speed can vary depending on daytime and your local provider.
    • Try a different software.
    • Try a different website.
    • Check your system logs.
    • Run the Apple Hardware Test on your machine.
    • Use another platform (Linux, Windows).
    Not sure if the listed approaches would eventually “cost” as much or more in time equivalent to buying a 2nd hand MacPro, though ...
     
  22. marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #22
    Trim is enabled. I can check the SSD for errors. I just think I'm taxing the computer too much for it's resources. This issue doesn't happen with 1 stream, but 2 simultaneously.

    I'll try the other suggested tests you mentioned.

    I have Verizon Fios, which is an external gigabit connection. It's been tested to see what speeds I get. I do have the proper hardware/routers to go with it.
     
  23. Neodym macrumors 68000

    Neodym

    Joined:
    Jul 5, 2002
    #23
    I see a classic MacPro in your future ...
     
  24. marker227, Aug 3, 2018
    Last edited: Aug 3, 2018

    marker227 thread starter macrumors 6502

    Joined:
    Mar 29, 2004
    #24
    How does this look?

    I was reading online that sometimes a computer's CPU will be maxed because the GPU is struggling and can't take some of the load, so the computer reverts to software processing instead which is why the CPU is maxed. Do you have any comment on that? Of course, either way I still need to upgrade something to get the performance I'm looking for ;).
     

    Attached Files:

  25. cynics macrumors G4

    Joined:
    Jan 8, 2012
    #25
    First thing is make sure your internet connection can support the output. For example, I have Comcast/Xfinity and while I have a reasonable download speed with 100 megabits per second my upload speeds are 6 megabits per second which is not enough to support 2 x 1080p upload streams (variables depending of course).

    Second, the CPU will be your bottle neck in this task which is where OBS will more than likely be encoding (as you can see with your activity logs).The GPU is rendering but the CPU is doing all the heavy lifting encoding the video. Because of this make sure background task are minimal.

    Third, check your webcam settings. If you aren't using full screen than don't use a full screen resolution. This is generally just be a massive waste of resources. For example if you want a 1080p stream but you webcam feed is only using a portion of the screen than consider a resolution that best matches that. Setting this from 1080p to 480p because you are only using a corner of the screen can knock CPU utilization down 50%.

    I'm not familiar with OBS but I'm familiar with encoding video and its very similar across the board. Go into settings and look for things like Encoder, Presets, Output Resolution, and Frames per Second. Adjust settings one at a time, test them and then switch them back if you can't see and improvement or quality reduces below what you want. I would adjust them in this order too.

    Frames per Second, with that CPU just switch it to 30.

    "Preset" or "Presets". Adjust faster ONE step and than retest it. The faster it is the less CPU will be be used but the cost is video quality. This is a good place to start IMO because the reduction in video quality can be minimal meanwhile the reduction in CPU utilization can be significant. With video encoding software (which will just slow down vs dropping frames) you can see 25%+ faster encode with no perceivable difference in quality from a single preset step (again a lot of variables there).

    Resolution (Output) - if its on 1080p you can consider 720p. This will be a significant difference in performance since 1080p is slightly more than twice the amount of data (pixels in this case) than 720p.

    Encoder - Not sure if you have this settings but it will likely be set to "software x264" or something similarly worded which means the CPU is doing all the encoding via software process. Software encoding is CPU intensive, slowest but offers the highest quality. You might have a setting for hardware encoding via Apple Hardware Encoder (quick sync/qsv). You can experiment with this to see if it helps but personally I would leave it set to software and adjust the above settings first.

    HTH, good luck.
     

Share This Page