Graphics advice needed (I think)

ubuysa

The BSOD Doctor
First off, here's my (pretty old now) spec...

Case
COOLERMASTER CM690 III ADVANCED CASE (GREEN)
Processor (CPU)
Intel® Core™ i7 Quad Core Processor i7-6700 (3.4GHz) 8MB Cache
Motherboard
ASUS® Z170-E: ATX, LG1151, USB 3.1, SATA 6GBs
Memory (RAM)
16GB HyperX FURY DDR4 2666MHz (2 x 8GB Kit)
Graphics Card
INTEGRATED GRAPHICS ACCELERATOR (GPU)
1st Storage Drive
2TB WD BLACK 3.5" WD2003FZEX, SATA 6 Gb/s, 64MB CACHE (7200rpm)
1st M.2 SSD Drive
512GB SAMSUNG SM951 M.2, PCIe NVMe (up to 2150MB/R, 1550MB/W)
DVD/BLU-RAY Drive
24x DUAL LAYER DVD WRITER ±R/±RW/RAM
External Hard Drive
WD 3TB My Book USB 3.0 External HDD - WDBFJK0030HBK
Power Supply
CORSAIR 650W CS SERIES™ MODULAR 80 PLUS® GOLD, ULTRA QUIET
Power Cable
1 x 1 Metre European Power Cable (Kettle Lead)
Processor Cooling
Noctua NH-D15S Ultra Quiet Performance CPU Cooler
Thermal Paste
STANDARD THERMAL PASTE FOR SUFFICIENT COOLING
Sound Card
ONBOARD 6 CHANNEL (5.1) HIGH DEF AUDIO (AS STANDARD)
Wireless Network Card
WIRELESS 802.11N 300Mbps/2.4GHz PCI-E CARD
USB/Thunderbolt Options
2 PORT (2 x TYPE A) USB 3.0 PCI-E CARD + STANDARD USB PORTS
Operating System
Windows 10 Home 64 Bit - inc. Single Licence
Operating System Language
United Kingdom - English Language
Windows Recovery Media
Windows 10 (64-bit) DVD with paper sleeve
Office Software
NO OFFICE SOFTWARE
Anti-Virus
NO ANTI-VIRUS SOFTWARE
Browser
Microsoft® Edge (Windows 10 Only)
Monitor
ASUS PA238QR 23" PROART SERIES MONITOR
Keyboard & Mouse
ASUS Cerberus Gaming Keyboard
Gaming Chair
GT Omega PRO Racing Office Chair - Black Next Red Leather
Webcam
Microsoft LifeCam Studio
Cable Management
3 x PCS 1.5M Zip Cable Tidy - Professional Cable Management
Warranty
3 Year Standard Warranty (1 Month Collect & Return, 1 Year Parts, 3 Year Labour)
Delivery
2 - 6 DAY DELIVERY TO EUROPE (COUNTRY DEPENDANT)
Build Time
Standard Build - Approximately 12 to 15 working days

There is a 1TB SATA SSD and a 2TB SATA HDD in there now in addition to the drives listed there.

My issue concerns just one specific use I make of this PC; watching live Formula1 racing via the F1TV service. This is a web-based service that offers several simultaneous viewing options. I can for example, watch the live feed, the data feed (segment times etc.), a tracker showing where the cars are on track, what they call the Pit Lane Channel (PLC) which is a three window display, or I can stay on the in-car video and audio feed from any car.

For practice and qualifying I typically have the PLC on my 1080p TV (connected via HDMI) and the data feed on my 1080p monitor (connected via DVI-D). For the race I usually have the tracker on my monitor.

My problem is that the feed on the monitor always lags further and further behind the TV. I get frequent micro-stalls on the monitor (less than a second, though sometimes around a second) quite frequently, but never on the TV. It doesn't matter what mix of browsers I use on which display, it's always the monitor that micro-stalls and not the TV.

These micro-stalls make the F1 data feed useless (indeed any feed on the monitor) because it usually ends up lagging in time by up to a minute or more behind the live video feed...

These micro-stalls don't look like network buffering to me. Although I'm only on 12Mbps down, if I set the video rate in F1TV on both displays down to the minimum of 493kbps (which gives a terrible 480x270 picture) I still get these micro-stalls on the monitor and not the TV, yet there's plenty of bandwidth to service two displays at that data rate. On the odd and rare occasion when there is network buffering I see the expected 'clock' on screen as the buffer fills.

I think it's my iGPU that isn't up to running both 1080p displays at the same time. Is it likely that the HD530 iGPU in my Intel CPU 'favours' the HDMI output over the DVI output and that's why it's the monitor that always micro-stalls? Do you think my problem is that there's not enough grunt in the HD530?

Would a dedicated graphics card eliminate these micro-stalls on the monitor and if so which card should I buy? Clearly I want the cheapest card that will handle both displays comfortably at 1080p 25fps broadcast video (F1TV claim they transmit 1080p 50fps if your rig can handle it, I don't need that quality though). My monitor has HDMI, DVI-D and DP inputs, my TV has only an HDMI input.
 

Steveyg

MOST VALUED CONTRIBUTOR
Now that's an interesting problem, I'd say a really really entry level GPU like the 730 or 1030 would probably be enough to display the screens without buffer but then again I've never heard of this kind of problem before.

I will say seeing the Coolermaster case in the spec makes me miss my old case, that thing is fantastic. Had a CM690 II Advanced Dom that I donated to my mate with the old parts in it. Should've kept the case
 

SpyderTracks

We love you Ukraine
That is perplexing.

I wonder if it's something to do with refresh rate on the monitor?

This is pure guesswork, but just try reducing the refresh rate of the secondary monitor to 24Hz (TV refresh) or even 30Hz and see if that makes any difference?

It would be worth probably adding a dedicated card like the GT1030, you can pick them up very cheap, personally I'd avoid the 730 as it's so old now.
 

ubuysa

The BSOD Doctor
That is perplexing.

I wonder if it's something to do with refresh rate on the monitor?

This is pure guesswork, but just try reducing the refresh rate of the secondary monitor to 24Hz (TV refresh) or even 30Hz and see if that makes any difference?

It would be worth probably adding a dedicated card like the GT1030, you can pick them up very cheap, personally I'd avoid the 730 as it's so old now.
Thanks for this, I'll give that a try during FP2 in 45 mins and report back. :)

Later Edit: It can only do 25Hz interlaced and that would give me a headache. I've set it to 50Hz to see whether that makes any difference.
 

Scott

Behold The Ford Mondeo
Moderator
I don't know with any certainty at all but I would be amazed if that's the GPU causing that. The GPU tends to show the latest data, regardless of what has came before it (hence screen tears). I would be very surprised if a minute worth of data was in the buffer for the GPU to process.

Is it possible to swap the orientation around so that you show what you currently have on the monitor on the TV.... and vice versa?

If the issue follows then it's not the GPU, but some sort of other buffer. If not...... then I guess it must be something along those lines.
 

ubuysa

The BSOD Doctor
I don't know with any certainty at all but I would be amazed if that's the GPU causing that. The GPU tends to show the latest data, regardless of what has came before it (hence screen tears). I would be very surprised if a minute worth of data was in the buffer for the GPU to process.
Well it is trying to process different data for each of two monitors..?
Is it possible to swap the orientation around so that you show what you currently have on the monitor on the TV.... and vice versa?
Done that. It makes no difference, it's always the monitor that suffers.

Could it be that DVI-D requires more work from the iGPU than HDMI does??
If the issue follows then it's not the GPU, but some sort of other buffer. If not...... then I guess it must be something along those lines.
It doesn't follow. It's always the monitor (DVI-D). That's what makes me think iGPU....

I'll try @SpyderTracks suggestion and drop the monitor frequency to 25Hz interlaced and put up with the slight flicker for the sake of the testing.
 

Scott

Behold The Ford Mondeo
Moderator
That's a proper mystery to be honest, it's totally against my thinking for how graphics are processed.

Each image on the screen should be based on the latest information at the time of processing. Any buffering should be done by the player/software. The only buffer in a GPU is the frame buffer, but it drops the information completely when it's no longer relevant.

Or at least that's how I was always led to believe it works.

Not sure if it's of interest to investigate for you but as time goes on....... a buffer simply must be increasing in size and continuing to do so. Either the process will be increasing in RAM utilisation or the GPU RAM will be. No point in telling my Granny how to suck eggs so I'm sure you know better than me how to accurately monitor both :D
 

ubuysa

The BSOD Doctor
That's a proper mystery to be honest, it's totally against my thinking for how graphics are processed.

Each image on the screen should be based on the latest information at the time of processing. Any buffering should be done by the player/software. The only buffer in a GPU is the frame buffer, but it drops the information completely when it's no longer relevant.

Or at least that's how I was always led to believe it works.

Not sure if it's of interest to investigate for you but as time goes on....... a buffer simply must be increasing in size and continuing to do so. Either the process will be increasing in RAM utilisation or the GPU RAM will be. No point in telling my Granny how to suck eggs so I'm sure you know better than me how to accurately monitor both :D
I think I've solved it thanks to @Scott suggesting I swap browsers - something I've already tried by the way. It set me wondering what the differnces might be between the browsers and that led me to what I think is the problem. I'm embarrassed to admit that the issue seems to be that old chestnut browser hardware acceleration.

If the browser on the monitor has hardware acceleration turned on the monitor gets micro-stalls - regardless of which browser I run on there (I'm using Firefox and Edge). The TV doesn't seem to be affected by the hardware acceleration setting either way.

This makes some sense to me, it seems that the relatively underpowered HD530 can't cope with the work from the CPU that hardware acceleration offloads to the GPU when running over DVI-D to the monitor, I'm guessing that's enough to cause the micro-stalls. I'm also guessing that the extra offloaded CPU work doesn't have such an impact on the GPU when running over the HDMI connected TV?

Although I missed bits of FP2 whilst swapping browsers around and turning hardware acceleration on and off, it certainly seemed to be the case that with hardware acceleration turned off on whatever browser was running on the monitor the micro-stalls did not happen and both monitor display and TV display stayed in time sync.

I'll confirm this during the full hour of FP3 tomorrow morning but at the moment I feel a bit stupid for not thinking of that earlier... 😖
 

Scott

Behold The Ford Mondeo
Moderator
I'm glad I helped but to be honest I was like a blind squirrel finding a nut :D

Never heard of anything like that happening. The micro-stutters.... yes, definitely, but not buffering entire minutes worth of footage pending the hardware acceleration. The RAM usage of the browser must have been sky high :ROFLMAO:
 

ubuysa

The BSOD Doctor
I'm glad I helped but to be honest I was like a blind squirrel finding a nut :D

Never heard of anything like that happening. The micro-stutters.... yes, definitely, but not buffering entire minutes worth of footage pending the hardware acceleration. The RAM usage of the browser must have been sky high [emoji23]
I may check resource utilisations, but to be honest I just want to watch the F1, not muck about with the PC. [emoji1787]

If FP3 tomorrow goes well I'll call it fixed.
 

ubuysa

The BSOD Doctor
The 'fix' seems to have worked, during FP3 (and with hardware acceleration off on both browsers) there were no micro-stalls and the data channel on the monitor stayed in synch with the live video feed on the TV.

I did have the Task Manager performance tab open on the monitor and I did turn hardware acceleration on on both browsers at one point to see what the difference was.

Here's the monitor display with hardware acceleration off on both browsers...
Acceleration Off.jpg

You can see that no resource is even close to exhaustion, both the CPU and the RAM run pretty constantly at a healthy 50% in-use - there were no spikes in either at any point either (that I saw at any rate).

The network is working hard at this point, 11.4Mbps from a (maximum) 12.3Mbps (measured) connection, but there were no micro-stalls and no buffering at any point. You can also see from the graph that although this rate is reached often it's by no means a sustained data rate.

The GPU isn't working hard either, it sat at a pretty constant 33% in-use all the time hardware acceleration was off on both browsers.

No resource issues then and no micro-stalls either. A success!

Here's the monitor display after I'd turned hardware acceleration on for both browsers....
Acceleration On.jpg

The CPU has unsurprisingly dropped markedly down to 27% in-use (an almost 50% drop!) because of course work is now offloaded to the GPU because hardware acceleration is on. The RAM in-use has crept up slightly to 52% in-use, perhaps that's related to the extra work the GPU is doing? It's pretty constant as the graph shows.

The network has dropped off markedly too, it's down to 6.5Mbps and it's stayed that way for a while as well. I can't account for this but neither can I do anything about it. I did wonder whether the GPU is not able to suck data at the same rate from the network when acceleration in on than the CPU can when acceleration is off? Certainly there was no real difference in the data that was being accessed so I can only assume that with acceleration on the system can't sustain the same data rate as when it's off - and that's interesting in itself.

The GPU still isn't working hard, but it is working harder with acceleration on (as you'd expect) and there are dips and spikes in the GPU usage too. The 53% in-use at the time of the screenshot does seem be be a pretty reasonable median value though and is an unsurprising 50% increase compared to the acceleration off mode.

Later edit: What I don't know of course is what the Task Manager's sampling interval might be. Since I see only micro-stalls and since the GPU utilisation is quite spiky with acceleration on, it's not hard to imagine transient spikes to 100% utilisation that occur briefly between the Task Manager sampling intervals.

I did see couple of micro-stalls on the monitor during this little test but I had hardware acceleration on for only three or four minutes.

I'm satisfied that my issue is most likely GPU related and I'm also happy that turning hardware acceleration off (and unloading the GPU) is a good temporary workaround. I've taken @SpyderTracks advice however and I've bought a Gigabyte GT1030 2GB low profile graphics card from an online retailer in Greece for €88.57. That's cheap enough to be worth trying IMO and based on what I've seen with these tests it should be a permanent solution.

Very many thanks for the help and advice guys! (y):)

Edit: I'll let you know how things are when the 1030 is installed. That might not be for a couple of weeks - this is Greece after all. ;)
 

ubuysa

The BSOD Doctor
FYI.

The Nvidia GT 1030 arrived this morning and I had it installed and setup in time for the F1 FP3 in Austria.

The bottom line is that the dedicated GPU has done the trick. I can keep both browser windows in synch but more importantly the dGPU can easily drive my Internet connection to the max (12.3Mbps) with both browser sessions running and with browser hardware acceleration turned on in both browsers. That's something the iGPU wasn't able to do. A big positive there for me then.

After some experimenting I've found that the synchronisation between the two browsers is at its best when Firefox has hardware acceleration on and Edge has it off. I don't know why and I really don't care.

Neither the dGPU nor the CPU seem to care about hardware acceleration either way, their utilisation really doesn't change all that much with acceleration on or off and in either or both browsers. Utilisation on both resources remains very stable too over time as well regardless of the browser hardware acceleration setting. That's also very different to when I was using the iGPU. The CPU load increased markedly with acceleration off on both browsers and the iGPU utilisation was erratic with it on on both browsers.

The lesson I've learned, and this may be useful to others speccing up a non-gaming build, is that the iGPU is fine for graphics and streaming videos as long as you're not doing anything too ambitious. In my case, running two HD video streams and trying to keep them in reasonable time sync was beyond the capability of my iGPU. It also appeared that in this usage mode the iGPU wasn't able to fully saturate my (pretty slow) Internet connection either. If you plan to do anything graphics wise other than simple streaming videos I would very much recommend an entry-level dGPU.

Many thanks again to @Scott and @SpyderTracks for pointing me at the most cost-effective dGPU. :)
 
Top