DXVA/CUDA stopped working?
July 28th, 2013
Recently, I repaired my notebook (new fan) and exchanged the HDD with an SSD drive.
So far so good, I migrated my Win7 and Linux installs without any hassles – or so I thought.
It turns out, that for some reasons, DXVA/CUDA don’t want to work properly anymore.
I first noticed this when I fired up XBMC to watch movies from my NAS. In XBMC, I have DXVA enabled. Turns out, that I get lots of dropped frames and all the problems that come along with it… it’s unwatchable.
So I thought maybe it’s the network connection, let’s try a local movie, same thing, didn’t exactly work.
Then I tried PotPlayer (CoreAVC with CUDA, madVR) – same thing.
I’ve just now noticed that the CPU usage when using DXVA in XBMC is around 60% (I’ve got a dualcore)
When I checked the task manager, it showed the “System” process as using most of that amount of CPU time.
I thought this was very interesting, so I wanted to observe this some more, but now, when I go to the process view, it’s XBMC that is using most of the CPU.
Any ideas what could have caused this? Before migrating the system, everything seemed to be perfectly fine.
What did you use to move everything? Are the drive letter okay and as they were before?
Have you done any nVidia driver updates by any chance? I did that once with a fair jump in drivers and it destroyed CUDA and DXVA. Only a uninstall, driver clean and re-install fixed things.
Well, C: is still C:
I used gparted to copy the partition to the SSD.
Nope, I didn’t update the video driver. Only after the problems I decided I could give that a shot, but it didn’t change anything. The video card is an NVS140(M?) if it matters.
If you changed to SSD I recommend doing a clean install to get the best performance. Probably will also fix that problem.
Yeah, reinstalling would probably fix that problem, but I have more interesting things to do
Is there any other reason why you would recommend a reinstall? I don’t see how it should magically boost performance apart from a clean install usually running faster than an old install…
Oh, btw, software rendering in XBMC is actually a lot faster.
Win7 “detects” the SSD and sets all the little settings it needs for the best way to work when you install it clean. When I first bought an SSD I also just cloned my HDD to it, but after a little while I decided to do a clean install, just to know that it’s all working exactly the how it’s supposed to
Yeah I read about that, but it seems to be working great apart from that weird phenomenon. I really don’t want to reinstall though, I hate doing that, it’s such a mundane task … So I’m all ears for other ideas
You could try uninstalling the nVidia drivers and then doing a driver clean using a recent driver cleaner to remove all the old settings and files. Then install the driver again.
Getting rid of every last fragment of the drivers could sort it out. You could try re-installing DirectX as well before the nvidia drivers. [EDIT] It doesn’t look like there is a DirectX download for Win 7.
Did you check DXVA usage with this?
http://bluesky23.yu-nagi.com/en/index.html#DXVAChecker
What SSD and SATA controller is that? Have you updated the firmware? High system process CPU usage usually relates to disk activity.
@Marvel: Just did a clean install with all necessary reboots in between etc and set the installer to clear the old settings – same result
@parox: Not sure what I’m looking for in that tool. On the website, it says it should list ModeXXXX_XXX_PureVideo – there’s no PureVideo device. Any specific info you fancy to have?
It’s a Crucial M4 256GB – the controller is an old SATA2: ICH8M (E/M AHCI)
@parox: Not sure what I'm looking for in that tool. On the website, it says it should list ModeXXXX_XXX_PureVideo - there's no PureVideo device. Any specific info you fancy to have?
The first tab will list the modes of DXVA the GPU supports. To check whether DXVA is being used in an app you need to start the trace log, play the file and stop the log. It will show you the DXVA commands that have been sent. Btw you’ll need the choose the 32-bit/64-bit versions depending on the decoders/players being used and not depending on the OS.
OK, I’ll do that. Thanks. And no, I never did a firmware update on the SSD.
Well the M4s are rather well known for being stable but they will have an hourly reboot bug (with a BSOD) after ~5000 hours of operation unless you update it’s firmware so you best get that updated.
Ah yes, I read about that, thanks for reminding me
Here’s a trace:
DXVA2_ProcessDeviceCreated, 4368, 00:00:04.0493029
DXVA2_ProcessDeviceCreated, 4368, 00:00:04.0496043
DXVA2_ProcessDeviceDestroyed, 4368, 00:00:20.8034741
DXVA2_ProcessDeviceDestroyed, 4368, 00:00:20.8036971
DXVA2_DecodeDeviceCreated, XBMC, 00:00:53.4638677
DXVA2_ProcessDeviceCreated, XBMC, 00:00:53.7908762
DXVA2_ProcessDeviceDestroyed, XBMC, 00:00:53.9316778
DXVA2_ProcessDeviceCreated, XBMC, 00:00:53.9321127
DXVA2_ProcessDeviceCreated, PotPlayerMini64, 00:01:59.1733044
DXVA2_ProcessDeviceCreated, PotPlayerMini64, 00:01:59.1736321
DXVA2_ProcessDeviceDestroyed, PotPlayerMini64, 00:02:23.3944091
DXVA2_ProcessDeviceDestroyed, PotPlayerMini64, 00:02:23.3946517
DXVA2_DecodeDeviceDestroyed, XBMC, 00:02:26.5937788
DXVA2_ProcessDeviceDestroyed, XBMC, 00:02:26.5995228
Looks like you’ve only set the default flags in the logger. Well anyway, DXVA is being used as you might have already guessed. The problem is lying elsewhere.
Hehe, now it’s only back to finding the problem.
Btw, I have downgraded the video driver to an earlier version, and now the screen occasionally flashes with a black screen when using DXVA/CUDA. So I guess I might try some other older driver… any other ideas?
Is the CPU usage fixed?
How about actually mentioning the GPU you have? You claim you migrated your Windows installs. How exactly? Tried a real format yet?
The CPU usage was just something I had noticed occasionally, I don’t know how much it was using the system process before the problem arised and I cannot steadily reproduce it, so it may just as well have been a coincidence. As already mentioned in the OP, when I checked at some other time, it was XBMC that was using most of the CPU and the System process was far? behind.
The GPU is an NVS140M.
I copied the partition with GParted (I think) from the old harddrive to the SSD.
No, I haven’t tried a real format.
I think I will monitor the GPU temperature next time. As mentioned, I replaced the fan at the same time I switched to the SSD. Perhaps something with thermal compound isn’t right and it’s overheating. I guess I could also try some 3D games.
Yeah, double post, I know, but I have new info:
I just tried a really old video driver which supports CUDA and I experience the same slowness. The black screen flashes that I received from going back from the most recent to a slightly earlier driver are gone again.
Have you checked the CPU usage when doing other tasks involving light disk activity such as downloading etc?
No, I haven't tried a real format.
Just take a disk image and format it. If it didn’t work you can just restore it back.
Also , have you tried the old mech drive again?
Nope, I’ve never bothered to try the old drive, I’ll do that when I’m done copying some stuff off the old HDD.
Not that it would be very important, but VDPAU seems to work nicely.
Not that I like it, but I think you’re right in insisting on trying to reformat… I’ll do that this weekend I suppose