This plugin allows available Performance Counters to be added to the RivaTuner Hardware Monitoring module. Standard performance counters include detailed information about logical/physical disks, processor, processes, network, ram/paging, and much, much more. Windows includes hundreds of values that can be queried out of the box. If you're new to performance counters, you can open the performance monitor in Windows (Start->Run->perfmon<enter>). Click the '+' button to add a counter and browse the list of available categories and counters. Some software/drivers also make counters available, so you may have additional data. For instance, you'll see categories for .NET and MSSQL if you have either of those installed.

Here is an example of some of the data that can be extracted. These examples are using the ModType and ModFactor values in PerfCount.cfg for unit translation. Please read that file for additional information.

Here is a brief description of the files included in the download.PerfCount.dll - the actual RivaTuner hardware monitoring pluginPerfcount.cfg - the configuration for the plugin, which instructs which counters to query, any necessary formatting to perform, and other misc RivaTuner configuration informationPerfCount.rth - the RivaTuner help file for this pluginPerfCountCLI.exe - a command line application to retreive the performance counter syntax and test reading it prior to incorporating it into the PerfCount.cfg - the proper syntax for the counters are "\\Computer\PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter" (\\Computer can be left out for the local machine)

PerfCountCLI.exe can be run from any directory and is RivaTuner independent. Running the application with no arguments will prompt you to select a counter. Running it with one argument will attempt to query the counter provided as an argument. I'll incorporate human readable error codes in the future, but for now you can reference the error codes here.

This plugin allows GPU Performance Counters from NVIDIA's PerfKit to be added to the RivaTuner Hardware Monitoring module. Counters include detailed information about the driver, ROP, Shader, Textures, Memory and much, much more.

Same as NVPerfCount, but for 64 bit systems.** you must use the version of PerfKit designed for 32 bit apps on 64 bit systems

- Nick

EDIT:
- Removed NVIDIA PDH information as this only works on 32 bit XP
- Removed ATI PerfStudio Information
- Added NVPerfCount and revised layout to make first post more friendly for the latest info concerning these plugins.

Yep, I've played last night a couple of hours with it and I like it. I can monitor whatever Windows counters I want but I'm stuck at nVidia ones. Probably it has something to do with my Vista64 and GTX 260. :help:

the NVIDIA PerfKit User Manual clearly states PDH is not available on 64bit XP.

Yep, I've played last night a couple of hours with it and I like it. I can monitor whatever Windows counters I want but I'm stuck at nVidia ones. Probably it has something to do with my Vista64 and GTX 260. :help:

Anyway, good job stangowner. As always. :thumbup:

Click to expand...

Hi Burebista. I have not played with PerfKit too much yet....just been trying to get the plugin done. But I have also had similar results in the few minutes I've played with it. On Win7 x64 with a GTX280, I have not been able to get the counters to show. On Vista x86 with a QuadroFX 4000, it creates the categories in perfmon, but no valid counters are available. Even when trying to query them manually, PerfCounterCLI.exe returns 0x800007D5 (PDH_NO_DATA) No data to return. So I reverted to my wife's old machine with XP and a GeForce 8800GTS just to test and prove it out. I did not spend more then a few minutes playing with it yet. When I get to some further testing, I'll post anything that may be of value.

What do you show in perfmon after enabling the driver instrumentation and adding counters via nvdevcpl.cpl? BTW - one quirk I did notice on the XP machine is even hitting "Apply" in the dev panel does not enable the counter. You actually have to click OK.

Man I was so sad that I wasn't able to monitor nVidia so I've uninstalled PerfKit but I'll install again today and if you want to help I'll be all ears.
All I can remember is that after adding counters via nvdevcpl.cpl in permon appear a new category (Video something, i forgot) and %GPU Busy was an entry (I'll post a screenshot in a hour or so) but I cannot make it move in your plugin.

Man I was so sad that I wasn't able to monitor nVidia so I've uninstalled PerfKit but I'll install again today and if you want to help I'll be all ears.
All I can remember is that after adding counters via nvdevcpl.cpl in permon appear a new category (Video something, i forgot) and %GPU Busy was an entry (I'll post a screenshot in a hour or so) but I cannot make it move in your plugin.

Click to expand...

Yeah, I know the ATI boys have GPU Usage available....and was hoping this could make it available for us without needing to wait for the 300 series cards And my Win7x64/GTX280 machine is the one I want to monitor it on

If it displays in the perfmon window, that is a promising sign. Did you actually add it in perfmon and does it work (I used FurMark to get that 100% usage in the pic above)? If it works in perfmon, then we can test with PerfCounterCLI.exe to ensure the proper syntax. If we can get it working there, then we can just add it to PerfCount.cfg and you should be good to go.

Then in perfmon Video Scheduler appears but with %GPU Busy as counter. :3eyes:

Click to expand...

hmmm. Are you sure Video Scheduler is not there even without PerfKit? PerfKit should add the counters under NVIDIA GPU Performance. See page 4 (pdf page 9/32) in the User Guide. This is where I found them on XP - and I used the GPU0/% gpu_idle counter that is pictured.

Unfortunately despite idle or Furmark load output is the same: 100 in perfmon and 0 in your PerfCounterCLI.

Click to expand...

Not sure why PerfCounterCLI is outputting 0. However, it is not 100 in perfmon. The last reading was 7.4 million. Its just off the chart.

I've uninstalled PerfKit, reboot and Video Scheduler is still there.
So it looks like I cannot add nVidia counters.

Click to expand...

Yeah, I'm not sure what is creating that, but I suspected this was the issue. So nothing under N listed? This is what I saw on my machine as well.

Let me give it a descent go on my machine tonight to see if I can do anything. If not, perhaps I'll have to create another plugin to use the NVIDIA APIs directly, and not reply on the PDH counter implementation which appears to not have 64 bit support, not just on XP but on Vista/7 as well.

...Let me give it a descent go on my machine tonight to see if I can do anything....

Click to expand...

Guess that was a bad idea. I tried 3 OSes, 2 video cards and several drivers. Couldn't even get it to work on 32 bit Vista.

Can't get the values to list at all in perfmon. I creates the category but no counters available. And PerfCounterCLI.exe can't return a value. You can see that it errors adding the counter when I have not enabled it nvdevcpl.cpl. Once I enable it, it successfully adds the counter, but returns crap when querying it.

I started to test NVIDIA's PerfAPI directly, and not rely on the PDH implementation. Initial results look promising.

Here is the "gpu_idle" performance counter on a Vista 32 system with a Quadro card (one of the systems where phd does not work). I ran FurMark for a few seconds to see the percentage change. The value and cycle are in picoseconds, and the percentage is idle/elapsed*100.

I did a little more testing, and not getting anything good on my Win7 (x86 & x64) GTX280 machine. I have a support request into NVIDIA, but have not yet received a reply. And their developer's forum indicates many others are not having any luck neither. It seems it was never fully developed past Win XP x86, even though there is some success on Vista 32 bit. Its a shame, because I can enumerate over 300 performance counters on my GTX280 and over 200 on a Quadro

I've been out of a computer for 2 weeks due to a PSU that I am getting replaced. Once I get up and running again, I'll continue to take a look at this and other options. But if I had to decide on the limited testing so far, I would not develop a plugin for the NVPerfAPI. Not until NVIDIA finishes/updates it.

Of course I'll continue to finish the existing PerfCount plugin once I get my machine up and running.

Burebista, feel like testing a few things with me again? Or anyone else with Vista/7 x64 and a nvidia card (this build will not work on 32 bit systems, and Windows 7 is the only OS I have tested so far - it should be fine for Vista x64, but not sure yet about XP x64).

This is a new test application using the NVPerfAPI directly. Works basically the same as before, but does not involve the Windows Performance Counters at all. This is the command line application only - it is not yet a plugin for RTHM. You can get it here.

USE: No argument dumps the name and description (if available) for all avalable counters. Adding a counter name as an argument causes it to be queried every second until stopped.

I would recommend running NVPerfCountCLI.exe from a command prompt window, not just double clicking it. This way, when querying all counters you can pipe it to 'more' so you can see one screen at a time ("NVPerfCountCLI.exe | more"). Its also more convenient for providing arguments.

Here is an example on my Windows 7 Ultimate RTM box with a single GTX280 and 191.07 drivers. I installed PerfKit 6.5 Vista 64-bit from here. You must install both components (HUD and SDK) as the SDK alone does not include one required dll. You do not need gDEBugger.

And here are a few snippets for common counters. In these test, I started collection, started FurMark, closed FurMark, stopped collection. FurMark is very heavy on the shaders, and these numbers are indicating that.