Guru3D.com Forums

Go Back   Guru3D.com Forums > Affiliates > Rivatuner Generic Discussion forum
Rivatuner Generic Discussion forum This forum is intended for generic questions and discussion of the RivaTuner Utility. In this section the users help each other out with answers.


Reply
 
Thread Tools Display Modes
Performance Counter monitoring plugin
Old
  (#1)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default Performance Counter monitoring plugin - 09-14-2009, 16:08 | posts: 579 | Location: MA

PerfCount

Current Version: PerfCount 0.9
OS: XP/Vista/7 (32 & 64 bit)
PreReq: VC++ 2008 Redist

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 plugin
Perfcount.cfg - the configuration for the plugin, which instructs which counters to query, any necessary formatting to perform, and other misc RivaTuner configuration information
PerfCount.rth - the RivaTuner help file for this plugin
PerfCountCLI.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)

Installation:
1 - Copy the PerfCount.dll and PerfCount.cfg files into the "%RivaTunerInstall%\PlugIns\Monitoring" folder
2 - Copy the PerfCount.rth file into the "%RivaTunerInstall%\Help\Plugins\Monitoring" folder
3 - Enable the plugin via the hardware monitoring setup->plugins screen

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.

Here is an example:
Code:
C:\temp>PerfCounterCLI.exe
 
Counter selected by user: \\MyPCName\Processor(_Total)\% Idle Time
Press any key to stop collection
 
"09/14/2009 09:16:07.954","94.167376908148768"
"09/14/2009 09:16:08.954","100"
"09/14/2009 09:16:09.954","98.174499329772118"
"09/14/2009 09:16:10.953","98.174499329772118"
 
C:\temp> PerfCounterCLI.exe "\Processor(_Total)\% Idle Time"
 
Counter provided via argument: \Processor(_Total)\% Idle Time
Press any key to stop collection
 
"09/14/2009 09:16:55.378","99.176279935177959"
"09/14/2009 09:16:56.378","95.169157513554609"
"09/14/2009 09:16:57.377","99.176279935177959"
 
C:\temp> PerfCounterCLI.exe "\LogicalDisk(C:)\Free Megabytes"
 
Counter provided via argument: \LogicalDisk(C:)\Free Megabytes
Press any key to stop collection
 
"09/14/2009 09:18:24.028","8338"
"09/14/2009 09:18:25.028","8338"
"09/14/2009 09:18:26.027","8338"
 
C:\temp>
NVPerfCount

Current Version: NVPerfCount 0.9.1
OS: XP/Vista/7 (32 bit OS only)
PreReq: NVIDIA PerfKit, VC++ 2008 Redist

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.

NVPerfCount64

Current Version: NVPerfCount64 0.9.3
OS: XP/Vista/7 (64 bit OS only)
PreReq: NVIDIA PerfKit, VC++ 2008 Redist

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.

Last edited by stangowner; 05-03-2010 at 11:05.
   
Reply With Quote
 
Old
  (#2)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 09-15-2009, 08:01 | posts: 11,471 | Location: Taganrog, Russia

Awesome! Good job, Nick. Was thinking about adding a plugin for accessing OS performance counters myself a few times

P.S. Making the thread sticky


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#3)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 09-15-2009, 08:28 | posts: 1,653 | Location: Romania

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.
Quote:
the NVIDIA PerfKit User Manual clearly states PDH is not available on 64bit XP.
Anyway, good job stangowner. As always.
   
Reply With Quote
Old
  (#4)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-15-2009, 13:58 | posts: 579 | Location: MA

Quote:
Originally Posted by Unwinder View Post
Awesome! Good job, Nick. Was thinking about adding a plugin for accessing OS performance counters myself a few times

P.S. Making the thread sticky
Hi Unwinder. Thanks for the extremely well documented SDK examples. I started with the Everest one, so you did 80% of the work

I really just need to do some work on the export option for logging. Once I do that, if you want the source so you can proof & include in the base install, just let me know

Quote:
Originally Posted by burebista View Post
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.

Anyway, good job stangowner. As always.
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.
   
Reply With Quote
 
Old
  (#5)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 09-15-2009, 14:03 | posts: 1,653 | Location: Romania

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.
   
Reply With Quote
Old
  (#6)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-15-2009, 14:10 | posts: 579 | Location: MA

Quote:
Originally Posted by burebista View Post
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.
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.

Let me know when you have more info.
   
Reply With Quote
Old
  (#7)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 09-15-2009, 14:41 | posts: 1,653 | Location: Romania

OK, installed again. Pick from nvdevcpl.cpl only gpu_idle and hit OK.



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



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

Now what?
   
Reply With Quote
Old
  (#8)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-15-2009, 14:58 | posts: 579 | Location: MA

Quote:
Originally Posted by burebista View Post
OK, installed again. Pick from nvdevcpl.cpl only gpu_idle and hit OK.
That looks good.

Quote:
Then in perfmon Video Scheduler appears but with %GPU Busy as counter.
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.

Quote:
Unfortunately despite idle or Furmark load output is the same: 100 in perfmon and 0 in your PerfCounterCLI.
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.

Do you show any counter categories under NVIDIA...?
   
Reply With Quote
Old
  (#9)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 09-15-2009, 15:21 | posts: 1,653 | Location: Romania

Quote:
Originally Posted by stangowner View Post
hmmm. Are you sure Video Scheduler is not there even without PerfKit?
I've uninstalled PerfKit, reboot and Video Scheduler is still there.
So it looks like I cannot add nVidia counters.
   
Reply With Quote
Old
  (#10)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-15-2009, 15:39 | posts: 579 | Location: MA

Quote:
Originally Posted by burebista View Post
I've uninstalled PerfKit, reboot and Video Scheduler is still there.
So it looks like I cannot add nVidia counters.
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.
   
Reply With Quote
 
Old
  (#11)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 09-15-2009, 15:46 | posts: 1,653 | Location: Romania

Quote:
Originally Posted by stangowner View Post
So nothing under N listed?
Unfortunately no nVidia entry in perfmon, only that Video Scheduler.
Anyway, thanks for your time wasted with me.
   
Reply With Quote
Old
  (#12)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-15-2009, 15:49 | posts: 579 | Location: MA

Quote:
Originally Posted by burebista View Post
...Anyway, thanks for your time wasted with me.
My pleasure
   
Reply With Quote
Old
  (#13)
DSK
Banned
 
Videocard: HD5770/BenQ G2220HD
Processor: E6300 @ 4Ghz
Mainboard: Gigabyte - GA-EP43T-UD3L
Memory: Sector Five @ 1333CAS7
Soundcard: Realtek 81xx
PSU: Silverstone 500w
Default 09-15-2009, 15:52 | posts: 17,954 | Location: Coldwells,UK

Wow im really likeing theses niffty plug-ins

Great work
   
Reply With Quote
Old
  (#14)
chinobino
Master Guru
 
chinobino's Avatar
 
Videocard: GTX580 SLI
Processor: 3770K @ 4.5 GHz
Mainboard: ASRock Z77 Fatal1ty Pro
Memory: 2x4GB Corsair DDR3-2666
Soundcard: Creative Tactic3D Alpha
PSU: ENERMAX REVO 85+ 1250W
Default 09-15-2009, 16:15 | posts: 729

This is a great start strangowner!

I noticed that NVIDIA System Tools v6.05 has GPU usage and GPU FB (Frame Buffer) usage stated as a percentage.

If you would like to have a look at the "NVIDIA General Purpose Ring0 driver" you can download it here.

Maybe this could be helpful...

[edit: I tested on GTX280 SLI and 8800GTX Tri-SLI and it gave valid data for both using Windows 7 64-bit]

Last edited by chinobino; 09-15-2009 at 16:22.
   
Reply With Quote
Old
  (#15)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-16-2009, 05:47 | posts: 579 | Location: MA

Quote:
Originally Posted by stangowner View Post
...Let me give it a descent go on my machine tonight to see if I can do anything....
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.

Code:
C:\temp\PerfCount_v0.9>PerfCounterCLI.exe "\NVIDIA GPU Performance(GPU0/% gpu_idle)\GPU Counter Value"

Counter provided via argument: \NVIDIA GPU Performance(GPU0/% gpu_idle)\GPU Counter Value

PdhAddCounter failed with status 0xc0000bb8.
The specified object is not found on the system.

C:\temp\PerfCount_v0.9>PerfCounterCLI.exe "\NVIDIA GPU Performance(GPU0/% gpu_idle)\GPU Counter Value"

Counter provided via argument: \NVIDIA GPU Performance(GPU0/% gpu_idle)\GPU Counter Value

PdhCollectQueryData failed with 0x800007d5.
No data to return.
You'll have to give me a little time to get something going. I have a few ideas to try in the next few days.

In the meantime.....at least you get hundreds of standard counters

- Nick
   
Reply With Quote
Old
  (#16)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 09-16-2009, 14:33 | posts: 579 | Location: MA

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.

C:\Nick\Visual Studio 2005\Projects\RivaTuner\NVPerfCountCLI\debug>NVPer fCountCLI.exe

09/16/2009 08:48:48.246, value:212545331 ps, cycle:212645764 ps, percent:99.952770
09/16/2009 08:48:49.246, value:212545331 ps, cycle:212645764 ps, percent:99.952770
09/16/2009 08:48:50.246, value:421141690 ps, cycle:425275315 ps, percent:99.028012
09/16/2009 08:48:51.246, value:421141690 ps, cycle:425275315 ps, percent:99.028012
09/16/2009 08:48:52.247, value:306797972 ps, cycle:425274848 ps, percent:72.141104
09/16/2009 08:48:53.247, value:306797972 ps, cycle:425274848 ps, percent:72.141104
09/16/2009 08:48:54.248, value:4243062 ps, cycle:425494491 ps, percent:0.997207
09/16/2009 08:48:55.248, value:4243062 ps, cycle:425494491 ps, percent:0.997207
09/16/2009 08:48:56.248, value:1750923 ps, cycle:425277655 ps, percent:0.411713
09/16/2009 08:48:57.248, value:1750923 ps, cycle:425277655 ps, percent:0.411713
09/16/2009 08:48:58.248, value:1505583 ps, cycle:425279303 ps, percent:0.354022
09/16/2009 08:48:59.248, value:1505583 ps, cycle:425279303 ps, percent:0.354022
09/16/2009 08:49:00.248, value:2982386 ps, cycle:425281036 ps, percent:0.701274
09/16/2009 08:49:01.248, value:2982386 ps, cycle:425281036 ps, percent:0.701274
09/16/2009 08:49:02.249, value:1315419 ps, cycle:425277468 ps, percent:0.309308
09/16/2009 08:49:03.249, value:1315419 ps, cycle:425277468 ps, percent:0.309308
09/16/2009 08:49:04.249, value:1932394 ps, cycle:425418449 ps, percent:0.454234
09/16/2009 08:49:05.249, value:1932394 ps, cycle:425418449 ps, percent:0.454234
09/16/2009 08:49:06.249, value:2884216 ps, cycle:425144307 ps, percent:0.678409
09/16/2009 08:49:07.249, value:2884216 ps, cycle:425144307 ps, percent:0.678409
09/16/2009 08:49:08.249, value:212406383 ps, cycle:425274995 ps, percent:49.945655
09/16/2009 08:49:09.249, value:212406383 ps, cycle:425274995 ps, percent:49.945655
09/16/2009 08:49:10.249, value:424057771 ps, cycle:425279494 ps, percent:99.712725
09/16/2009 08:49:11.249, value:424057771 ps, cycle:425279494 ps, percent:99.712725
09/16/2009 08:49:12.250, value:425102249 ps, cycle:425271589 ps, percent:99.960181
09/16/2009 08:49:13.250, value:425102249 ps, cycle:425271589 ps, percent:99.960181

I'll test several platforms and other counters to see how that goes.
   
Reply With Quote
Old
  (#17)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-02-2009, 10:45 | posts: 579 | Location: MA

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.
   
Reply With Quote
Old
  (#18)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-07-2009, 19:23 | posts: 579 | Location: MA

I received a response from NVIDIA and they are telling me that NVPerfAPI should work perfectly fine on 32 and 64 bit version of Linux, Windows XP, Vista and 7.

I'll be taking another look at this to see if I can get it working properly.
   
Reply With Quote
Old
  (#19)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-16-2009, 14:14 | posts: 579 | Location: MA

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.

Code:
C:\temp>NVPerfCountCLI.exe
NVPerfAPI initialization successful
Number of available counters: 385

No argument provided - querying all available counters
Counter #: Counter Name (Counter Description)

Counter 0: OGL frame time
Counter 1: OGL driver time waiting
Counter 2: OGL driver waits for GPU
Counter 3: OGL driver waits for kernel
Counter 4: OGL driver waits for lock
Counter 5: OGL driver waits for render
Counter 6: OGL driver waits for swap
.
.
.
Counter 383: GPU Bottleneck_gpu_min
Counter 384: GPU Bottleneck_gpu_max
Press any key to exit
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.

Code:
C:\temp>NVPerfCountCLI.exe gpu_idle
NVPerfAPI initialization successful
Number of available counters: 385

Counter provided via argument: gpu_idle
Successfully added counter: gpu_idle

Press any key to stop collection

value: 4136  cycle: 4137  percent: 99.975830
value: 4136  cycle: 4137  percent: 99.975830
value: 30137184  cycle: 266766735  percent: 11.297204
value: 30137184  cycle: 266766735  percent: 11.297204
value: 7761654  cycle: 650849067  percent: 1.192543
value: 7761654  cycle: 650849067  percent: 1.192543
value: 7329362  cycle: 651204435  percent: 1.125509
value: 7329362  cycle: 651204435  percent: 1.125509
value: 36969084  cycle: 150974870  percent: 24.486914
value: 36969084  cycle: 150974870  percent: 24.486914
value: 41051631  cycle: 42751626  percent: 96.023560
value: 41051631  cycle: 42751626  percent: 96.023560
Code:
C:\temp>NVPerfCountCLI.exe rop_busy_gpu0
NVPerfAPI initialization successful
Number of available counters: 385

Counter provided via argument: rop_busy_gpu0
Successfully added counter: rop_busy_gpu0

Press any key to stop collection

value: 0  cycle: 4706  percent: 0.000000
value: 0  cycle: 4706  percent: 0.000000
value: 412859  cycle: 54516447  percent: 0.757311
value: 412859  cycle: 54516447  percent: 0.757311
value: 104591243  cycle: 633106666  percent: 16.520319
value: 104591243  cycle: 633106666  percent: 16.520319
value: 113053608  cycle: 652005706  percent: 17.339359
value: 113053608  cycle: 652005706  percent: 17.339359
value: 116179096  cycle: 650789617  percent: 17.852020
value: 116179096  cycle: 650789617  percent: 17.852020
value: 29284917  cycle: 200350541  percent: 14.616838
value: 29284917  cycle: 200350541  percent: 14.616838
value: 1668  cycle: 43095425  percent: 0.003870
value: 1668  cycle: 43095425  percent: 0.003870
Code:
C:\temp>NVPerfCountCLI.exe shader_busy_gpu0
NVPerfAPI initialization successful
Number of available counters: 385

Counter provided via argument: shader_busy_gpu0
Successfully added counter: shader_busy_gpu0

Press any key to stop collection

value: 0  cycle: 76466  percent: 0.000000
value: 0  cycle: 76466  percent: 0.000000
value: 25498  cycle: 205279050  percent: 0.012421
value: 25498  cycle: 205279050  percent: 0.012421
value: 571821217  cycle: 707958581  percent: 80.770439
value: 571821217  cycle: 707958581  percent: 80.770439
value: 582335121  cycle: 708226401  percent: 82.224426
value: 582335121  cycle: 708226401  percent: 82.224426
value: 577432481  cycle: 708336752  percent: 81.519493
value: 577432481  cycle: 708336752  percent: 81.519493
value: 115974056  cycle: 186829853  percent: 62.074692
value: 115974056  cycle: 186829853  percent: 62.074692
value: 22282  cycle: 46690262  percent: 0.047723
value: 22282  cycle: 46690262  percent: 0.047723
Code:
C:\temp>NVPerfCountCLI.exe geom_busy_gpu0
NVPerfAPI initialization successful
Number of available counters: 385

Counter provided via argument: geom_busy_gpu0
Successfully added counter: geom_busy_gpu0

Press any key to stop collection

value: 47  cycle: 76655  percent: 0.061314
value: 47  cycle: 76655  percent: 0.061314
value: 4274  cycle: 136002783  percent: 0.003143
value: 4274  cycle: 136002783  percent: 0.003143
value: 3990  cycle: 707903106  percent: 0.000564
value: 3990  cycle: 707903106  percent: 0.000564
value: 2733492  cycle: 708216087  percent: 0.385969
value: 2733492  cycle: 708216087  percent: 0.385969
value: 2693796  cycle: 708398173  percent: 0.380266
value: 2693796  cycle: 708398173  percent: 0.380266
value: 2660478  cycle: 708288155  percent: 0.375621
value: 2660478  cycle: 708288155  percent: 0.375621
value: 1177189  cycle: 350371057  percent: 0.335984
value: 1177189  cycle: 350371057  percent: 0.335984
value: 412  cycle: 46767178  percent: 0.000881
Let me know how you make out or if you have any questions.

- Nick
   
Reply With Quote
Old
  (#20)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 10-16-2009, 15:22 | posts: 1,653 | Location: Romania

Quote:
Originally Posted by stangowner View Post
Burebista, feel like testing a few things with me again?
Sure man, anytime.
I did only two tests, gpu_idle


and busy.


I've tried GPU Bottleneck too but it's outputs 0 regardless GPU in idle/Furmark or my CPU at 2 GHz or 3.5GHz.



Frankly I dunno what counters are relevant from all 89 but I hope you'll shed some light.

I'm all ears now.
   
Reply With Quote
Old
  (#21)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-16-2009, 15:39 | posts: 579 | Location: MA

Wow - that's great! You still running Vista x64?

On the bottlenecks - those counters are designed to be collected when performing experiments, which we are not doing. I think we should just exclude all of those counters for now.

Can you provide the list of the 90 counters less the bottleneck listings? I'm interested to see what the GTX260 has versus my GTX280 which has 385 counters, not 90.

Also, did you have the driver instrumentation running? That has to be run with admin rights, Nvidia puts a shortcut in the Start->Programs->StartUp folder, so you can delete that and either run it manually or via an elevated scheduled task (all this assuming the UAC is enabled of course).
   
Reply With Quote
Old
  (#22)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 10-16-2009, 15:46 | posts: 1,653 | Location: Romania

Quote:
Originally Posted by stangowner View Post
Wow - that's great! You still running Vista x64?
Nope, Seven x64 RTM
Quote:
Originally Posted by stangowner View Post
Can you provide the list of the 90 counters less the bottleneck listings?
Sure. Here you go.
Code:
E:\>nv.exe
size 46
NVPerfAPI initialization successful
Number of available counters: 90

No argument provided - querying all available counters
Counter #: Counter Name (Counter Description)


Counter 0: OGL frame time
Counter 1: OGL driver time waiting
Counter 2: OGL driver waits for GPU
Counter 3: OGL driver waits for kernel
Counter 4: OGL driver waits for lock
Counter 5: OGL driver waits for render
Counter 6: OGL driver waits for swap
Counter 7: OGL memory allocated
Counter 8: OGL memory allocated (textures)
Counter 9: OGL memory allocated (vertex)
Counter 10: OGL batch count
Counter 11: OGL vertex count
Counter 12: OGL primitive count
Counter 13: D3D frame time
Counter 14: D3D driver time
Counter 15: D3D driver time waiting
Counter 16: D3D driver waits for GPU
Counter 17: D3D driver waits for kernel
Counter 18: D3D driver waits for lock
Counter 19: D3D driver waits for render
Counter 20: D3D driver waits for present
Counter 21: D3D memory allocated
Counter 22: D3D memory allocated (RT)
Counter 23: D3D memory allocated (buffers)
Counter 24: D3D memory allocated (textures)
Counter 25: D3D batch count
Counter 26: D3D vertex count
Counter 27: D3D primitive count
Counter 28: D3D instanced vertex count
Counter 29: D3D instanced primitive count
Counter 30: D3D SLI P2P Bytes Transfered
Counter 31: rop_waits_for_shader
Counter 32: rop_waits_for_fb
Counter 33: rop_busy
Counter 34: rop_samples_killed_by_latez_count
Counter 35: rop_samples_killed_by_earlyz_count
Counter 36: rasterizer_tiles_killed_by_zcull_count
Counter 37: rasterizer_tiles_in_count
Counter 38: setup_line_count
Counter 39: setup_point_count
Counter 40: setup_triangle_count
Counter 41: setup_primitive_count
Counter 42: setup_primitive_culled_count
Counter 43: texture_waits_for_shader
Counter 44: texture_waits_for_fb
Counter 45: texture_busy
Counter 46: shader_waits_for_rop
Counter 47: shader_waits_for_geom
Counter 48: shader_waits_for_texture
Counter 49: shader_busy
Counter 50: stream_out_busy
Counter 51: geom_primitive_out_count
Counter 52: geom_vertex_out_count
Counter 53: geom_primitive_in_count
Counter 54: geom_vertex_in_count
Counter 55: geom_busy
Counter 56: input_assembler_waits_for_fb
Counter 57: input_assembler_busy
Counter 58: gpu_idle
Counter 59: gpu_busy
Counter 60: vertex_shader_busy
Counter 61: geometry_shader_busy
Counter 62: pixel_shader_busy
Counter 63: vertex_attribute_count
Counter 64: vertex_shader_instruction_rate
Counter 65: geometry_shader_instruction_rate
Counter 66: pixel_shader_instruction_rate
Counter 67: geom_waits_for_shader
Counter 68: texture_sample_base_level_rate
Counter 69: texture_sample_average_level
Counter 70: rasterizer_pixels_out_count
Counter 71: rop_samples_in_count
Counter 72: shaded_pixel_count
Counter 73: IDX Bottleneck
Counter 74: IDX SOL (IDX SOL)
Counter 75: GEOM Bottleneck
Counter 76: GEOM SOL (GEOM SOL)
Counter 77: Primitive Setup Bottleneck
Counter 78: Primitive Setup SOL (Primitive Setup SOL)
Counter 79: Rasterization Bottleneck
Counter 80: Rasterization SOL (Rasterization SOL)
Counter 81: SHD Bottleneck
Counter 82: SHD SOL (SHD SOL)
Counter 83: TEX Bottleneck
Counter 84: TEX SOL (TEX SOL)
Counter 85: ROP Bottleneck
Counter 86: ROP SOL (ROP SOL)
Counter 87: FB Bottleneck
Counter 88: FB SOL (FB SOL)
Counter 89: GPU Bottleneck
Quote:
Originally Posted by stangowner View Post
Also, did you have the driver instrumentation running?
Yep.
   
Reply With Quote
Old
  (#23)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-16-2009, 16:28 | posts: 579 | Location: MA

Looks like you can probably use 73 counters (#0-72). Not sure if all of them will return something, but you can try. The names are fairly descriptive as to what they should return.

BTW - some of those counters are going to return the same reading for value and cycle (it is just indicating a specific count). In these cases, just ignore the fact that I am calculating a percentage for everything. I'll address that later.

I'm at work ATM, but I'll try to play with some of my counters tonight to see what might be helpful. Here is what I get returned:
Code:
Counter 0: OGL frame time
Counter 1: OGL driver time waiting
Counter 2: OGL driver waits for GPU
Counter 3: OGL driver waits for kernel
Counter 4: OGL driver waits for lock
Counter 5: OGL driver waits for render
Counter 6: OGL driver waits for swap
Counter 7: OGL memory allocated
Counter 8: OGL memory allocated (textures)
Counter 9: OGL memory allocated (vertex)
Counter 10: OGL batch count
Counter 11: OGL vertex count
Counter 12: OGL primitive count
Counter 13: D3D frame time
Counter 14: D3D driver time
Counter 15: D3D driver time waiting
Counter 16: D3D driver waits for GPU
Counter 17: D3D driver waits for kernel
Counter 18: D3D driver waits for lock
Counter 19: D3D driver waits for render
Counter 20: D3D driver waits for present
Counter 21: D3D memory allocated
Counter 22: D3D memory allocated (RT)
Counter 23: D3D memory allocated (buffers)
Counter 24: D3D memory allocated (textures)
Counter 25: D3D batch count
Counter 26: D3D vertex count
Counter 27: D3D primitive count
Counter 28: D3D instanced vertex count
Counter 29: D3D instanced primitive count
Counter 30: D3D SLI P2P Bytes Transfered
Counter 31: rop_waits_for_shader_gpu0
Counter 32: rop_waits_for_shader_gpu1
Counter 33: rop_waits_for_shader_gpu_avg
Counter 34: rop_waits_for_shader_gpu_sum
Counter 35: rop_waits_for_shader_gpu_min
Counter 36: rop_waits_for_shader_gpu_max
Counter 37: rop_waits_for_fb_gpu0
Counter 38: rop_waits_for_fb_gpu1
Counter 39: rop_waits_for_fb_gpu_avg
Counter 40: rop_waits_for_fb_gpu_sum
Counter 41: rop_waits_for_fb_gpu_min
Counter 42: rop_waits_for_fb_gpu_max
Counter 43: rop_busy_gpu0
Counter 44: rop_busy_gpu1
Counter 45: rop_busy_gpu_avg
Counter 46: rop_busy_gpu_sum
Counter 47: rop_busy_gpu_min
Counter 48: rop_busy_gpu_max
Counter 49: rop_samples_killed_by_latez_count_gpu0
Counter 50: rop_samples_killed_by_latez_count_gpu1
Counter 51: rop_samples_killed_by_latez_count_gpu_avg
Counter 52: rop_samples_killed_by_latez_count_gpu_sum
Counter 53: rop_samples_killed_by_latez_count_gpu_min
Counter 54: rop_samples_killed_by_latez_count_gpu_max
Counter 55: rop_samples_killed_by_earlyz_count_gpu0
Counter 56: rop_samples_killed_by_earlyz_count_gpu1
Counter 57: rop_samples_killed_by_earlyz_count_gpu_avg
Counter 58: rop_samples_killed_by_earlyz_count_gpu_sum
Counter 59: rop_samples_killed_by_earlyz_count_gpu_min
Counter 60: rop_samples_killed_by_earlyz_count_gpu_max
Counter 61: rasterizer_tiles_killed_by_zcull_count_gpu0
Counter 62: rasterizer_tiles_killed_by_zcull_count_gpu1
Counter 63: rasterizer_tiles_killed_by_zcull_count_gpu_avg
Counter 64: rasterizer_tiles_killed_by_zcull_count_gpu_sum
Counter 65: rasterizer_tiles_killed_by_zcull_count_gpu_min
Counter 66: rasterizer_tiles_killed_by_zcull_count_gpu_max
Counter 67: rasterizer_tiles_in_count_gpu0
Counter 68: rasterizer_tiles_in_count_gpu1
Counter 69: rasterizer_tiles_in_count_gpu_avg
Counter 70: rasterizer_tiles_in_count_gpu_sum
Counter 71: rasterizer_tiles_in_count_gpu_min
Counter 72: rasterizer_tiles_in_count_gpu_max
Counter 73: setup_line_count_gpu0
Counter 74: setup_line_count_gpu1
Counter 75: setup_line_count_gpu_avg
Counter 76: setup_line_count_gpu_sum
Counter 77: setup_line_count_gpu_min
Counter 78: setup_line_count_gpu_max
Counter 79: setup_point_count_gpu0
Counter 80: setup_point_count_gpu1
Counter 81: setup_point_count_gpu_avg
Counter 82: setup_point_count_gpu_sum
Counter 83: setup_point_count_gpu_min
Counter 84: setup_point_count_gpu_max
Counter 85: setup_triangle_count_gpu0
Counter 86: setup_triangle_count_gpu1
Counter 87: setup_triangle_count_gpu_avg
Counter 88: setup_triangle_count_gpu_sum
Counter 89: setup_triangle_count_gpu_min
Counter 90: setup_triangle_count_gpu_max
Counter 91: setup_primitive_count_gpu0
Counter 92: setup_primitive_count_gpu1
Counter 93: setup_primitive_count_gpu_avg
Counter 94: setup_primitive_count_gpu_sum
Counter 95: setup_primitive_count_gpu_min
Counter 96: setup_primitive_count_gpu_max
Counter 97: setup_primitive_culled_count_gpu0
Counter 98: setup_primitive_culled_count_gpu1
Counter 99: setup_primitive_culled_count_gpu_avg
Counter 100: setup_primitive_culled_count_gpu_sum
Counter 101: setup_primitive_culled_count_gpu_min
Counter 102: setup_primitive_culled_count_gpu_max
Counter 103: texture_waits_for_shader_gpu0
Counter 104: texture_waits_for_shader_gpu1
Counter 105: texture_waits_for_shader_gpu_avg
Counter 106: texture_waits_for_shader_gpu_sum
Counter 107: texture_waits_for_shader_gpu_min
Counter 108: texture_waits_for_shader_gpu_max
Counter 109: texture_waits_for_fb_gpu0
Counter 110: texture_waits_for_fb_gpu1
Counter 111: texture_waits_for_fb_gpu_avg
Counter 112: texture_waits_for_fb_gpu_sum
Counter 113: texture_waits_for_fb_gpu_min
Counter 114: texture_waits_for_fb_gpu_max
Counter 115: texture_busy_gpu0
Counter 116: texture_busy_gpu1
Counter 117: texture_busy_gpu_avg
Counter 118: texture_busy_gpu_sum
Counter 119: texture_busy_gpu_min
Counter 120: texture_busy_gpu_max
Counter 121: shader_waits_for_rop_gpu0
Counter 122: shader_waits_for_rop_gpu1
Counter 123: shader_waits_for_rop_gpu_avg
Counter 124: shader_waits_for_rop_gpu_sum
Counter 125: shader_waits_for_rop_gpu_min
Counter 126: shader_waits_for_rop_gpu_max
Counter 127: shader_waits_for_geom_gpu0
Counter 128: shader_waits_for_geom_gpu1
Counter 129: shader_waits_for_geom_gpu_avg
Counter 130: shader_waits_for_geom_gpu_sum
Counter 131: shader_waits_for_geom_gpu_min
Counter 132: shader_waits_for_geom_gpu_max
Counter 133: shader_waits_for_texture_gpu0
Counter 134: shader_waits_for_texture_gpu1
Counter 135: shader_waits_for_texture_gpu_avg
Counter 136: shader_waits_for_texture_gpu_sum
Counter 137: shader_waits_for_texture_gpu_min
Counter 138: shader_waits_for_texture_gpu_max
Counter 139: shader_busy_gpu0
Counter 140: shader_busy_gpu1
Counter 141: shader_busy_gpu_avg
Counter 142: shader_busy_gpu_sum
Counter 143: shader_busy_gpu_min
Counter 144: shader_busy_gpu_max
Counter 145: stream_out_busy_gpu0
Counter 146: stream_out_busy_gpu1
Counter 147: stream_out_busy_gpu_avg
Counter 148: stream_out_busy_gpu_sum
Counter 149: stream_out_busy_gpu_min
Counter 150: stream_out_busy_gpu_max
Counter 151: geom_primitive_out_count_gpu0
Counter 152: geom_primitive_out_count_gpu1
Counter 153: geom_primitive_out_count_gpu_avg
Counter 154: geom_primitive_out_count_gpu_sum
Counter 155: geom_primitive_out_count_gpu_min
Counter 156: geom_primitive_out_count_gpu_max
Counter 157: geom_vertex_out_count_gpu0
Counter 158: geom_vertex_out_count_gpu1
Counter 159: geom_vertex_out_count_gpu_avg
Counter 160: geom_vertex_out_count_gpu_sum
Counter 161: geom_vertex_out_count_gpu_min
Counter 162: geom_vertex_out_count_gpu_max
Counter 163: geom_primitive_in_count_gpu0
Counter 164: geom_primitive_in_count_gpu1
Counter 165: geom_primitive_in_count_gpu_avg
Counter 166: geom_primitive_in_count_gpu_sum
Counter 167: geom_primitive_in_count_gpu_min
Counter 168: geom_primitive_in_count_gpu_max
Counter 169: geom_vertex_in_count_gpu0
Counter 170: geom_vertex_in_count_gpu1
Counter 171: geom_vertex_in_count_gpu_avg
Counter 172: geom_vertex_in_count_gpu_sum
Counter 173: geom_vertex_in_count_gpu_min
Counter 174: geom_vertex_in_count_gpu_max
Counter 175: geom_busy_gpu0
Counter 176: geom_busy_gpu1
Counter 177: geom_busy_gpu_avg
Counter 178: geom_busy_gpu_sum
Counter 179: geom_busy_gpu_min
Counter 180: geom_busy_gpu_max
Counter 181: input_assembler_waits_for_fb_gpu0
Counter 182: input_assembler_waits_for_fb_gpu1
Counter 183: input_assembler_waits_for_fb_gpu_avg
Counter 184: input_assembler_waits_for_fb_gpu_sum
Counter 185: input_assembler_waits_for_fb_gpu_min
Counter 186: input_assembler_waits_for_fb_gpu_max
Counter 187: input_assembler_busy_gpu0
Counter 188: input_assembler_busy_gpu1
Counter 189: input_assembler_busy_gpu_avg
Counter 190: input_assembler_busy_gpu_sum
Counter 191: input_assembler_busy_gpu_min
Counter 192: input_assembler_busy_gpu_max
Counter 193: gpu_idle_gpu0
Counter 194: gpu_idle_gpu1
Counter 195: gpu_idle_gpu_avg
Counter 196: gpu_idle_gpu_sum
Counter 197: gpu_idle_gpu_min
Counter 198: gpu_idle_gpu_max
Counter 199: gpu_busy_gpu0 (GPU is Busy)
Counter 200: gpu_busy_gpu1 (GPU is Busy)
Counter 201: gpu_busy_gpu_avg (GPU is Busy)
Counter 202: gpu_busy_gpu_sum (GPU is Busy)
Counter 203: gpu_busy_gpu_min (GPU is Busy)
Counter 204: gpu_busy_gpu_max (GPU is Busy)
Counter 205: vertex_shader_busy_gpu0
Counter 206: vertex_shader_busy_gpu1
Counter 207: vertex_shader_busy_gpu_avg (Vertex Shader Unit is Busy)
Counter 208: vertex_shader_busy_gpu_sum (Vertex Shader Unit is Busy)
Counter 209: vertex_shader_busy_gpu_min (Vertex Shader Unit is Busy)
Counter 210: vertex_shader_busy_gpu_max (Vertex Shader Unit is Busy)
Counter 211: geometry_shader_busy_gpu0
Counter 212: geometry_shader_busy_gpu1
Counter 213: geometry_shader_busy_gpu_avg (Geometry Shader Unit is Busy)
Counter 214: geometry_shader_busy_gpu_sum (Geometry Shader Unit is Busy)
Counter 215: geometry_shader_busy_gpu_min (Geometry Shader Unit is Busy)
Counter 216: geometry_shader_busy_gpu_max (Geometry Shader Unit is Busy)
Counter 217: pixel_shader_busy_gpu0
Counter 218: pixel_shader_busy_gpu1
Counter 219: pixel_shader_busy_gpu_avg (Pixel Shader Unit is Busy)
Counter 220: pixel_shader_busy_gpu_sum (Pixel Shader Unit is Busy)
Counter 221: pixel_shader_busy_gpu_min (Pixel Shader Unit is Busy)
Counter 222: pixel_shader_busy_gpu_max (Pixel Shader Unit is Busy)
Counter 223: vertex_attribute_count_gpu0 (Input Assembler is Busy)
Counter 224: vertex_attribute_count_gpu1 (Input Assembler is Busy)
Counter 225: vertex_attribute_count_gpu_avg (Input Assembler is Busy)
Counter 226: vertex_attribute_count_gpu_sum (Input Assembler is Busy)
Counter 227: vertex_attribute_count_gpu_min (Input Assembler is Busy)
Counter 228: vertex_attribute_count_gpu_max (Input Assembler is Busy)
Counter 229: vertex_shader_instruction_rate_gpu0
Counter 230: vertex_shader_instruction_rate_gpu1
Counter 231: vertex_shader_instruction_rate_gpu_avg
Counter 232: vertex_shader_instruction_rate_gpu_sum
Counter 233: vertex_shader_instruction_rate_gpu_min
Counter 234: vertex_shader_instruction_rate_gpu_max
Counter 235: geometry_shader_instruction_rate_gpu0
Counter 236: geometry_shader_instruction_rate_gpu1
Counter 237: geometry_shader_instruction_rate_gpu_avg
Counter 238: geometry_shader_instruction_rate_gpu_sum
Counter 239: geometry_shader_instruction_rate_gpu_min
Counter 240: geometry_shader_instruction_rate_gpu_max
Counter 241: pixel_shader_instruction_rate_gpu0
Counter 242: pixel_shader_instruction_rate_gpu1
Counter 243: pixel_shader_instruction_rate_gpu_avg
Counter 244: pixel_shader_instruction_rate_gpu_sum
Counter 245: pixel_shader_instruction_rate_gpu_min
Counter 246: pixel_shader_instruction_rate_gpu_max
Counter 247: geom_waits_for_shader_gpu0
Counter 248: geom_waits_for_shader_gpu1
Counter 249: geom_waits_for_shader_gpu_avg
Counter 250: geom_waits_for_shader_gpu_sum
Counter 251: geom_waits_for_shader_gpu_min
Counter 252: geom_waits_for_shader_gpu_max
Counter 253: texture_sample_base_level_rate_gpu0
Counter 254: texture_sample_base_level_rate_gpu1
Counter 255: texture_sample_base_level_rate_gpu_avg
Counter 256: texture_sample_base_level_rate_gpu_sum
Counter 257: texture_sample_base_level_rate_gpu_min
Counter 258: texture_sample_base_level_rate_gpu_max
Counter 259: texture_sample_average_level_gpu0
Counter 260: texture_sample_average_level_gpu1
Counter 261: texture_sample_average_level_gpu_avg
Counter 262: texture_sample_average_level_gpu_sum
Counter 263: texture_sample_average_level_gpu_min
Counter 264: texture_sample_average_level_gpu_max
Counter 265: rasterizer_pixels_out_count_gpu0
Counter 266: rasterizer_pixels_out_count_gpu1
Counter 267: rasterizer_pixels_out_count_gpu_avg
Counter 268: rasterizer_pixels_out_count_gpu_sum
Counter 269: rasterizer_pixels_out_count_gpu_min
Counter 270: rasterizer_pixels_out_count_gpu_max
Counter 271: rop_samples_in_count_gpu0
Counter 272: rop_samples_in_count_gpu1
Counter 273: rop_samples_in_count_gpu_avg
Counter 274: rop_samples_in_count_gpu_sum
Counter 275: rop_samples_in_count_gpu_min
Counter 276: rop_samples_in_count_gpu_max
Counter 277: shaded_pixel_count_gpu0
Counter 278: shaded_pixel_count_gpu1
Counter 279: shaded_pixel_count_gpu_avg
Counter 280: shaded_pixel_count_gpu_sum
Counter 281: shaded_pixel_count_gpu_min
Counter 282: shaded_pixel_count_gpu_max
Counter 283: IDX Bottleneck_gpu0 (IDX Is Bottleneck)
Counter 284: IDX Bottleneck_gpu1 (IDX Is Bottleneck)
Counter 285: IDX Bottleneck_gpu_avg (IDX Is Bottleneck)
Counter 286: IDX Bottleneck_gpu_sum (IDX Is Bottleneck)
Counter 287: IDX Bottleneck_gpu_min (IDX Is Bottleneck)
Counter 288: IDX Bottleneck_gpu_max (IDX Is Bottleneck)
Counter 289: IDX SOL_gpu0 (IDX SOL)
Counter 290: IDX SOL_gpu1 (IDX SOL)
Counter 291: IDX SOL_gpu_avg (IDX SOL)
Counter 292: IDX SOL_gpu_sum (IDX SOL)
Counter 293: IDX SOL_gpu_min (IDX SOL)
Counter 294: IDX SOL_gpu_max (IDX SOL)
Counter 295: GEOM Bottleneck_gpu0 (GEOM Is Bottleneck)
Counter 296: GEOM Bottleneck_gpu1 (GEOM Is Bottleneck)
Counter 297: GEOM Bottleneck_gpu_avg (GEOM Is Bottleneck)
Counter 298: GEOM Bottleneck_gpu_sum (GEOM Is Bottleneck)
Counter 299: GEOM Bottleneck_gpu_min (GEOM Is Bottleneck)
Counter 300: GEOM Bottleneck_gpu_max (GEOM Is Bottleneck)
Counter 301: GEOM SOL_gpu0 (GEOM SOL)
Counter 302: GEOM SOL_gpu1 (GEOM SOL)
Counter 303: GEOM SOL_gpu_avg (GEOM SOL)
Counter 304: GEOM SOL_gpu_sum (GEOM SOL)
Counter 305: GEOM SOL_gpu_min (GEOM SOL)
Counter 306: GEOM SOL_gpu_max (GEOM SOL)
Counter 307: Primitive Setup Bottleneck_gpu0
Counter 308: Primitive Setup Bottleneck_gpu1
Counter 309: Primitive Setup Bottleneck_gpu_avg (Primitive Setup is the Bottleneck)
Counter 310: Primitive Setup Bottleneck_gpu_sum (Primitive Setup is the Bottleneck)
Counter 311: Primitive Setup Bottleneck_gpu_min (Primitive Setup is the Bottleneck)
Counter 312: Primitive Setup Bottleneck_gpu_max (Primitive Setup is the Bottleneck)
Counter 313: Primitive Setup SOL_gpu0 (Primitive Setup SOL)
Counter 314: Primitive Setup SOL_gpu1 (Primitive Setup SOL)
Counter 315: Primitive Setup SOL_gpu_avg (Primitive Setup SOL)
Counter 316: Primitive Setup SOL_gpu_sum (Primitive Setup SOL)
Counter 317: Primitive Setup SOL_gpu_min (Primitive Setup SOL)
Counter 318: Primitive Setup SOL_gpu_max (Primitive Setup SOL)
Counter 319: Rasterization Bottleneck_gpu0
Counter 320: Rasterization Bottleneck_gpu1
Counter 321: Rasterization Bottleneck_gpu_avg (Rasterization is the Bottleneck)
Counter 322: Rasterization Bottleneck_gpu_sum (Rasterization is the Bottleneck)
Counter 323: Rasterization Bottleneck_gpu_min (Rasterization is the Bottleneck)
Counter 324: Rasterization Bottleneck_gpu_max (Rasterization is the Bottleneck)
Counter 325: Rasterization SOL_gpu0 (Rasterization SOL)
Counter 326: Rasterization SOL_gpu1 (Rasterization SOL)
Counter 327: Rasterization SOL_gpu_avg (Rasterization SOL)
Counter 328: Rasterization SOL_gpu_sum (Rasterization SOL)
Counter 329: Rasterization SOL_gpu_min (Rasterization SOL)
Counter 330: Rasterization SOL_gpu_max (Rasterization SOL)
Counter 331: SHD Bottleneck_gpu0 (SHD Is Bottleneck)
Counter 332: SHD Bottleneck_gpu1 (SHD Is Bottleneck)
Counter 333: SHD Bottleneck_gpu_avg (SHD Is Bottleneck)
Counter 334: SHD Bottleneck_gpu_sum (SHD Is Bottleneck)
Counter 335: SHD Bottleneck_gpu_min (SHD Is Bottleneck)
Counter 336: SHD Bottleneck_gpu_max (SHD Is Bottleneck)
Counter 337: SHD SOL_gpu0 (SHD SOL)
Counter 338: SHD SOL_gpu1 (SHD SOL)
Counter 339: SHD SOL_gpu_avg (SHD SOL)
Counter 340: SHD SOL_gpu_sum (SHD SOL)
Counter 341: SHD SOL_gpu_min (SHD SOL)
Counter 342: SHD SOL_gpu_max (SHD SOL)
Counter 343: TEX Bottleneck_gpu0 (TEX Is Bottleneck)
Counter 344: TEX Bottleneck_gpu1 (TEX Is Bottleneck)
Counter 345: TEX Bottleneck_gpu_avg (TEX Is Bottleneck)
Counter 346: TEX Bottleneck_gpu_sum (TEX Is Bottleneck)
Counter 347: TEX Bottleneck_gpu_min (TEX Is Bottleneck)
Counter 348: TEX Bottleneck_gpu_max (TEX Is Bottleneck)
Counter 349: TEX SOL_gpu0 (TEX SOL)
Counter 350: TEX SOL_gpu1 (TEX SOL)
Counter 351: TEX SOL_gpu_avg (TEX SOL)
Counter 352: TEX SOL_gpu_sum (TEX SOL)
Counter 353: TEX SOL_gpu_min (TEX SOL)
Counter 354: TEX SOL_gpu_max (TEX SOL)
Counter 355: ROP Bottleneck_gpu0 (ROP Is Bottleneck)
Counter 356: ROP Bottleneck_gpu1 (ROP Is Bottleneck)
Counter 357: ROP Bottleneck_gpu_avg (ROP Is Bottleneck)
Counter 358: ROP Bottleneck_gpu_sum (ROP Is Bottleneck)
Counter 359: ROP Bottleneck_gpu_min (ROP Is Bottleneck)
Counter 360: ROP Bottleneck_gpu_max (ROP Is Bottleneck)
Counter 361: ROP SOL_gpu0 (ROP SOL)
Counter 362: ROP SOL_gpu1 (ROP SOL)
Counter 363: ROP SOL_gpu_avg (ROP SOL)
Counter 364: ROP SOL_gpu_sum (ROP SOL)
Counter 365: ROP SOL_gpu_min (ROP SOL)
Counter 366: ROP SOL_gpu_max (ROP SOL)
Counter 367: FB Bottleneck_gpu0 (FB Is Bottleneck)
Counter 368: FB Bottleneck_gpu1 (FB Is Bottleneck)
Counter 369: FB Bottleneck_gpu_avg (FB Is Bottleneck)
Counter 370: FB Bottleneck_gpu_sum (FB Is Bottleneck)
Counter 371: FB Bottleneck_gpu_min (FB Is Bottleneck)
Counter 372: FB Bottleneck_gpu_max (FB Is Bottleneck)
Counter 373: FB SOL_gpu0 (FB SOL)
Counter 374: FB SOL_gpu1 (FB SOL)
Counter 375: FB SOL_gpu_avg (FB SOL)
Counter 376: FB SOL_gpu_sum (FB SOL)
Counter 377: FB SOL_gpu_min (FB SOL)
Counter 378: FB SOL_gpu_max (FB SOL)
Counter 379: GPU Bottleneck_gpu0
Counter 380: GPU Bottleneck_gpu1
Counter 381: GPU Bottleneck_gpu_avg
Counter 382: GPU Bottleneck_gpu_sum
Counter 383: GPU Bottleneck_gpu_min
Counter 384: GPU Bottleneck_gpu_max
   
Reply With Quote
Old
  (#24)
burebista
Maha Guru
 
burebista's Avatar
 
Videocard: MSI GTX 760 Gaming Twin F
Processor: i5-2500K Ninja 3 fanless
Mainboard: ASRock P67 Extreme4
Memory: Corsair 4GB DDR3 1600MHz
Soundcard: Xonar D1
PSU: Antec Signature 650
Default 10-16-2009, 16:44 | posts: 1,653 | Location: Romania

Quote:
Originally Posted by stangowner View Post
Looks like you can probably use 73 counters (#0-72). Not sure if all of them will return something, but you can try. The names are fairly descriptive as to what they should return.
OK, but which are useful?
gpu/rop/shader_busy looks interesting to see the load on GPU but others...
Anyway, I'm eagerly waiting to see some of them in a graph.
   
Reply With Quote
Old
  (#25)
stangowner
Master Guru
 
stangowner's Avatar
 
Videocard: 2xMSI N550GTX-Ti Cy II OC
Processor: Intel Core i7-3960X
Mainboard: MSI X79A-GD45
Memory: 16GB Corsair Vengence
Soundcard: X-Fi Plat Fatal1ty Champ
PSU: Antec 850w
Default 10-16-2009, 17:01 | posts: 579 | Location: MA

Quote:
Originally Posted by burebista View Post
OK, but which are useful?
You might not realize it yet, but you're helping me compile that list
Quote:
gpu/rop/shader_busy looks interesting to see the load on GPU but others...
Yes, those definitely look like good choices. I'm also interest to see what we can get for memory allocation and frame times as well. I won't know for sure until I play around with it.....which I have not dome much yet.

Not sure if the counts will be of much value. Do you care how many vertexes are being processed? Or know how to interpret the data? Then again, if you are getting low FPS in a game and can narrow down the restriction in the GPU, then you might be able to adjust your game's video properties to elleviate that portion of strees while maintaining high levels in other areas.
Quote:
Anyway, I'm eagerly waiting to see some of them in a graph.
So am I. I just wanted some help testing it before commiting
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 1995-2014, All Rights Reserved. The Guru of 3D, the Hardware Guru, and 3D Guru are trademarks owned by Hilbert Hagedoorn.