Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 

ActionableMango

macrumors G3
Sep 21, 2010
9,612
6,907
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.
 
  • Like
Reactions: kohlson

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
Yes, the GPU is the major bottleneck in your machine. SCNR :p:cool: (even though it’s not completely untrue, unfortunately)


Would an alternative option be to buy an external GPU and plug it into the Mac Mini?
 

Neodym

macrumors 68020
Jul 5, 2002
2,435
1,071
Would an alternative option be to buy an external GPU and plug it into the Mac Mini?
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.
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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?
 

Neodym

macrumors 68020
Jul 5, 2002
2,435
1,071
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).
 
Last edited:

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 

tbobmccoy

macrumors 6502a
Jul 24, 2007
967
216
Austin, TX
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.
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
Does it push out 4k 60fps? Playing h.265 is impossible for it. Other than that, it's been a good server.

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.
 

mmomega

macrumors demi-god
Dec 30, 2009
3,879
2,089
DFW, TX
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.

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
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
Thanks! Here are my results after about 5 minutes:
 

Attachments

  • Screenshot 2018-07-13 20.10.37.png
    Screenshot 2018-07-13 20.10.37.png
    42.3 KB · Views: 169

Neodym

macrumors 68020
Jul 5, 2002
2,435
1,071
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).
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 

Attachments

  • Screenshot 2018-07-14 08.37.55.png
    Screenshot 2018-07-14 08.37.55.png
    87.6 KB · Views: 186
Last edited:

Neodym

macrumors 68020
Jul 5, 2002
2,435
1,071
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?
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 
Last edited:

Neodym

macrumors 68020
Jul 5, 2002
2,435
1,071
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 ...
 
  • Like
Reactions: ActionableMango

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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.
 

marker227

macrumors 6502
Original poster
Mar 29, 2004
349
5
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 ;).
 

Attachments

  • Screenshot 2018-08-03 17.15.24.png
    Screenshot 2018-08-03 17.15.24.png
    37.7 KB · Views: 146
Last edited:

cynics

macrumors G4
Jan 8, 2012
11,959
2,154
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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.