how do i get VLC to load my GPU instead of my CPU? things boiling!!

giantbucket

Dignified
BANNED
ok, so I've not had this issue before. FX-6350 and dual HD7790s, feeding 6 monitors (1080p each). when playing a movie using VLC and resizing it to fit all 6 screens (or even just 4) I notice that my CPU is running quite warm (place hand over heatsink - it's toasty), while my two GPUs are cool as a cucumber.

eh, is that how it's supposed to be? shouldn't the GPUs be doing most of the work and getting at least somewhat warm, and not cooking my CPU?

I stumbled on this observation when ASUS GPUTweak showed me no GPU memory usage, even though frame-rates were quite slow (visible stutter). so Resource Manager showed me that my CPU cores are being used quite hard - more cores the more I resize the video.
 

giantbucket

Dignified
BANNED
ok, so I tried all of the above:

VLC "use GPU stuff" checked and output using one of the DirectX options --> no change, CPU running at 40% and toasty hot, GPUs dead cold
tried Win Media Player (the default in Win8) --> same deal, hot CPU and idle GPU
tried that media player Home Cinema that's bundled with K-Lite Codec Pack --> same

I tried this with Matroska files, as well as AVI and MP4, figuring maybe it's a specific codec. nope, same hot/cold stuff.

(( oddly enough, my old machine (decommissioned now) which had an A6-3650 and two even-older nVid cards didn't show this hot-CPU stuff when playing movies and gave me similar image quality as far as frame rates and choppiness when blown up to 4-screens-large, but went to 1fps when on 6-screens ))

THEN, I ran some Unigine benchmarks (Tropics and Valley), and during those CPU was at 35% toasty and GPU was finally running warm (so I know it's actually being used, which is why I bought it). frame rates reasonable so at least I know it's doing stuff.\

any other ideas, things I should try, install/uninstall, to actually get my GPUs to do some work when I try to play a movie? this is a dead-fresh Win8.1 install (done yesterday morning), so it hasn't accumulated much crap... yet.
 

creed186

Honorable
Dec 22, 2013
3
0
10,510
With the changes is the video still choppy?

I'm no expert, but decoding video isn't really much of an effort for a GPU so it's probably not going to produce that much heat so it may appear idle.
Instead of just feeling about inside your PC I'd recommend using a program like HWMonitor (http://www.cpuid.com/softwares/hwmonitor.html) to look at temperatures and make use of Window's task manager to take a look at what programs are putting the load on your CPU. Also, look at whether VLC is putting the same load on the CPU with and without accelerated decoding on. Oh, and make sure you close and relaunch VLC after changing the setting (I think that's still a thing you need to do). It might just be the case that your CPU is idling hot in which case you need to look into why that's happening or replace it with a better heatsink.

Your set up has a few places that could be causing additional issues. I've never used it, but Crossfire could be a problem. 6 monitors is a lot of monitors. Do you really need that many? 7790s aren't high end cards, and I wonder if maybe they just can't handle all those pixels (though I would've expected them to play video no problem, modern games are probably a no-no, though)

I'd try it on a single card across a few monitors and see what happens, but I'd a bit suspicious of dual GPU set ups.
 

giantbucket

Dignified
BANNED


I'm going to try that HWMonitor thing to get more accurate figures, but by touch the difference in heat between CPU and GPU is quite drastic. the load on the CPU does appear every so slightly lower with GPU accel than without, but it's basically 30% instead of 35%.

using the ASUS GPU Tweak utility I can see how much GPU memory is being used - and it's not using a single byte.

the GPUs are not in crossfire - I had to disable that just to get all 6 screens to show (3 per card). I use all 6 but not for gaming - it's primarily a work (trading) setup, but the physical size just makes for a nice "big screen TV" so at times I use it as such.

I did try limiting the movie playback to just the screens that are on the single card - and that's smooth. even if I stretch it to use 50% of the other card's outputs, it's smooth - but once I stretch it to fill that last bit, the frame rate tanks.

here's what I mean:

[ 1 ][ 2 ][ 3 ]
[ 4 ][ 5 ][ 6 ]

1,2,3 are on one HD7790
4,5,6 are on the other HD7790

if movie playback is stretched across 1,2,3 - it's smooth
same if stretched across 4,5,6
if it's stretched across 1,2,3 and the top half of 4,5,6, it's still smooth
but once I try to stretch it to the bottom half of 4,5,6 it starts to fumble


when I get home, I'm going to try one or two other things - I basically did a clean re-install of Win8.1 but WITHOUT that K-Lite codec pack, so I'm gonna try things step by step. first with the native player & codecs, then with just VLC, and then I might add K-Lite. or I might try alternate players. and different movies - maybe it's an encoder thing, and i'll vary by how each movie is encoded internally...
 

creed186

Honorable
Dec 22, 2013
3
0
10,510
I think the problem may then be that you're not using crossfire. I think having two cards separately would mean most applications will just be using the first card and ignoring the second. However, I did a bit of research and it would seem you can only have a multi monitor set up with crossfire if all the monitors are hooked up to the primary card, and I believe each of your cards can only handle 3 screens maximum.

I don't know much about these kinds of set ups, but I think the problem is relating to the two separate GPUs. The Asus GPU Tweak utility is probably giving false information, potentially confused by the two separate cards. It should read something, even on an empty desktop.


My guess would be that you're only able to actually use one GPU and it's just not powerful enough on its own. The easiest solution (and the only one I can think of at the moment...) would be to replace your graphics cards with one of the eyefinity 6 cards with 6 displayport outputs, but that's obviously expensive and not ideal. :/
 

giantbucket

Dignified
BANNED
you raise some good points - and actually my situation is now different because I learned a few things as well!

so here's the deal - I opened task manager / resource manager and learned that no matter what my install is like, the system (win & vlc) are keeping my CPU at around 17% utilized when the frame drops start to happen. it took a while for it to occur to me that 17% is basically 1/6th, so it was saturating one processor core just to do stuff. the processes were window managers - window's own and amd's catalyst - together adding up to 17%.

so, it seemed like the issue was that the software layers were made for single-core work, and were ignoring the other processor cores available.

this rubbed me the wrong way quite a bit. so, I took everything apart, put the parts back in the boxes, and returned it all. mobo, cpu, both gpus. all returned. I bought new stuff, some of which will take a week to arrive, but i'm gonna make one addition.

new setup is ASRock Z77 mobo, i5-3570k processor (which i'll have to learn to overclock), dual asus gt640 cards (since it seems what i do is far more CPU intensive than GPU intensive), AND i'm gonna add a third card like a gt610 to run a single 40"-plus TV. so yeah, "f" this, i'll just buy a large tv and pipe the movie to that only.

i now hate amd. i hate them because of eyefinity, displayport, and inferior processors for my task.

eyefinity - it would probably solve one issue while creating two others. first there's the whole active-vs-passive displayport adapters (if i knew i'd be getting into this, i would have bought monitors that had DP inputs in the first place, but alas...) seriously though, that adapter thing is a clusterfuck cuz there should have been only ONE type. second issue though would be maximizing windows - my MAIN duty on this machine is trading, which means i have 4-5 charts, and i'd maximize each to a monitor. eyefinity doesn't do that - it'll maximize to the whole array, so it'll actually force me to manually resize and place each window every time i log on.

i did - honestly - look at a few 6-output cards, like some visiontek 7750 and 7870 stuff, but then that whole adapter thing came up. firepro is just way too expensive.

so... long story short - the solution i'm going with is to just buy a TV and an extra GPU to drive it exclusively. now all i gotta do is find some space to place it. upshot is i can also pipe in my xbox into that - something which would have been impossible with a multi-screen thing.

new plan:

| 40" |[ 1 ][ 2 ][ 3 ]
| TV |[ 4 ][ 5 ][ 6 ]