Performance Counter monitoring plugin

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by stangowner, Sep 14, 2009.

  1. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    WOW awesome plugins stangowner,they make Debugging even down to the OS level very nice and convenient, now you can get every Perf counter needed put it on the OSD and even see Frame by Frame OS results for example DPC impacts by certain Game Events or Drive IO. Really great work (not yet process based but you can create combined frameworks to achieve that) :)
    Also now we are able to enhance Rivatuner with counters that are only usable for now in Evga Precission or Afterburner and even much much more without needing to use Everest and additional system resources in that call it's just great work :)
    The times of having multiple applications opened for getting the full system overview (in near Realtime) are almost over :) "1 Ring that binds them all" ;)
    Ok there is still 1 part we need Everest for though that would be the "Mainboard Sensors" part so reading the Voltage information or Fan Speed stuff and changes from the different PC components while the application is running can't be done yet from Rivatuner itself :)

    Rivatuner + Perf Counter plugins + Everest (Voltage Sensors) = Perfect for 1 Process Full System Debugging :)
     
    Last edited: Apr 4, 2010
  2. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Glad they're working out well for you :)

    Mind sending me a PM with your .cfg file contents so I can get an idea of how you are using them?
     
  3. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    Im still testing their is a drawback though which is a pity but not your fault :( 3D Performance of the Instrumented driver for XP 195.62 is ok but for general use it seems to lack all the Flash Video acceleration fixes (Flash 10.1 beta 3) i get awefull lot of dropped frames compared to 197.15 with it (also with instrumentation off) :( testing http://www.youtube.com/watch?v=yQ5U8suTUw0&fmt=37 gpu_busy shows 10% utilization you could say that's correct if you take the frame copying out of the GFX Memory + RGB rendering in the Browser into account also 90% cpu utilization you could think it should play flawless but seems that the instrumented driver was not enhanced in any way for this maybe replacing it's outdated nvcuvid.dll with a recent one can fix those issues :(

    Edit: It's not the instrumented drivers fault it seems, strange the only thing i did before installing the instrumented driver was uninstalling the AMD Dual Core Optimizer, and now i get these very strange drop outs with /usepmtimer only im gonna trying to fix these drop outs first, now i would say despite many people say the Dual Core Optimizer does nothing on a patched XP SP3 with /usepmtimer he does something not sure why that's what he does avoids the drop outs but i will investigate this carefully, when i debugged whats causing these drop outs im gonna back to the instrumented driver and testing your plugins further actually im gonna try using your Performance counters plugin in Rivatuner now to find the cause of this problem :).
     
    Last edited: Apr 5, 2010
  4. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Thanks for the update. Let me know your results.

    I was actually interested in how you are using them because they seem to have been very little interest, short of monitoring hard drive and network activity. Not too many downloads, which is why I have been deferring some updates/improvements to them (they've moved down my priority list :))

    You seem to be pushing them further, so was curious to the help they are giving you. And if you don't mind my asking, what exactly are you trying to accomplish? Just correct flash playback problems? Or are you a developer? Or just a computer geek like me :nerd:?
     

  5. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    Yep geek :) i tried the Perfcount plugin now PerfCounterCLI works nicely but the plugin itself seems to have problems i get a problem in the System log telling me PerfNet could not be established (because of this Rivatuner needs 3x the time to start when the plugin is active) :(
    hmm does it need a special windows port to be opened as my system has most of the Windows Network ports closed also it makes not much sense to need some port opened for localy reading performance counter values as PerfCounterCLI also doesn't need it :(

    [​IMG]

    those 1.5625 usage on CPU 1 are coming from Rivatuner running in the background and probing every second :)

    With rivatuner off i get 0% so a non readable value (only measurable in the area of context switches per process themselves)
     
    Last edited: Apr 5, 2010
  6. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Any particular counters so I can try to reproduce? Also, can you post the system log entry details?

    The CLI and the plug-in are using nearly the same PDH code, so I would expect them to behave identically. I'll definitely look into it though.
     
  7. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    Ahhh it works now the problem was i just replaced Source1 of your example leaving the rest inside but it seems because of the different languages it wouldn't load anything but error out now i changed your example completely to have only 1 counter and it works :)

    [Settings]
    Export = 0

    [Source0]
    ID = \Prozessor(_Total)\Prozessorzeit (%)
    Name = CPU Usage
    Dim = %
    MaxLimit = 100
    MinLimit = 0
    GridDim = 10
    Desc = Processor Usage Time
    Group = CPU
    ModType = 0

    For German XP Total CPU Time :)

    Now you can have 3 CPU values the total usage and each core separately :)
    also it will be interesting to see what is less resource demanding and more precise so using Perfcount for all 3 mix Perfcount with CPU.dll or maybe it makes no difference @ all :)

    Current Result:

    [​IMG]

    Oh man how heavy i wished Unwinder would have made some kind of Dashboard mode so you could put the sensors side by side and use the full Window Length :)
     
    Last edited: Apr 5, 2010
  8. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    I use the Real Temp plug-in for my CPU usage and temps. I've never compared them to PerfCount or CPU or Everest for performance or accuracy. Would be interesting to know though.

    You can stack them if that helps for the height. Won't help the width though.
     
  9. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    Yep and as the Geek word says that's what a Geek does ;) , yeah it's sad that all the width is lost it becomes a scroll orgy that way sticking helps a little but then it becomes a click orgy instead ;)

    Slowly it becomes practical :)

    [​IMG]


    If there would be somekind of Dashboard Mode you could have a very nice Process Explorer currently if you add all the Memory and other stuff per process to it it would get a reall scroll orgy very fast but ok it wasn't the main purpose for it and for direct examination of things you don't need so much process information if you have 1 target in mind you wanna Debug :)

    Btw that high cpu usage for rivatuner was created moving the mouse in the interface fast from left to right XP so still fully GDI rendered no Direct2D ;)

    Slowly i can start with this to debug my Flash Drop out Problem and then move to the instrumented Driver and add all the GPU stuff from PerfKit :D no Opt-in issues anymore yeahhh :D

    Just guess how cluttered it becomes if you additionally add all the Everest Voltage information :p, but ok for Live OSD and later viewing of the logged results it's the nicest currently but for Live stuff inside the interface it's to limited with the way it displays the Sensors, also sticking the sensors together can get really ugly fast in terms of fast result perception :(

    Is there a application that can visualize Rivatuners Logged results in a nicer way ?

    a other way i guess for easier live visualization would be using Samurize and it's Rivatuner plugin combined with it's possibility to use Windows Performance counters :) that way i guess you could build a nice Dashboard like interface to all the sensor information :) of course that way you would need additional resources again :(

    So i guess for Live OSD (Fullscreen) the combination of Rivatuner + Perfcount.dll + nvperfcount.dll + everest
    and for a more Live Window Interface going the Rivatuner + everest + nvperfcount.dll + Samurize with Performance Counter (for sensor visualization) way
    I hope Samurize can visualize the same nice xy Graph way Rivatuner does it :(

    CPU.dll indeed seems to be more precise it detects very small changes in the 0.0x range that Perfcount.dll misses ;-)

    for OSD it is perfect to check if frapsing and recorded sensor data fit together if you have a second exact clock plugin for rivatuner

    [​IMG]

    at least resolution of cpu.dll so NtQuerySystemInformation seems to be better then getting the same data via Perfcount.dll

    i guess the way for perfcount.dll is perfcount.dll->performance counter(perfnet.dll)->NtQuerySystemInformation(ntdll.dll)

    and via cpu.dll cpu.dll->NtQuerySystemInformation(ntdll.dll)
    guess could explain the resolution loss

    shows 1 more time again how excellent Rivatuner is coded (props to the almighty Unwinder) :)
     
    Last edited: Apr 6, 2010
  10. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Thanks for the details....I'll look more in depth shortly. I currently have mine running in the gadget like this on a day-to-day, and then just open RTHM for specific details. It does take more clocks to run sidebar.exe like this, but its not too bad with a 1 second refresh on the first 2 and a 5 second refresh on the other two.

    [​IMG]
     

  11. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    looks nice but though me is more into functional than graphical and lowest resources possible

    [​IMG]

    :)

    Yeah Gpu Load,Gpu Memory Usage and Purevideo Decoder usage inside Rivatuner, not via PerfKit but shared memory so no instrumented driver needed for basic GPU info in the OSD :D

    http://beatricesmth.blog41.fc2.com/blog-entry-78.html <- gpu-z rivatuner plugin

    Especially Video Engine Load seems to be a rather secret NVAPI thing as not even the Everest guys made it available in Sidebar,OSD nor shared memory :)

    Finally i can uninstall afterburner and free those resources,hopefully though Unwinder comes back to Rivatuner soon so these workarounds wouldn't be needed anymore ;)

    Edit: Dropped Frames Flash issue found, http://forums.adobe.com/thread/610832?tstart=0
     
    Last edited: Apr 7, 2010
  12. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    Ok so here the first Debugging and Performance Optimization using Rivatuner Perfcount and GPU-Z Plugin :)

    Im very happy with this way of Optimizing and with this im gonna try to make a special Nvidia Bios which is optimized for GPU->CPU Frame bandwidth to enhance Adobe Flash 10.1 RC1 Youtube HD Performance first results are promising :)

    [​IMG]

    BTW: Afterburner is gone asta la vista :nerd:
     
    Last edited: Apr 9, 2010
  13. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    I've come to the conclusion that you have too much time on your hands :) Nice work though.

    If you look at this list:
    http://forums.guru3d.com/showthread.php?t=304772#22

    I think you only have to run the instrumented driver for #0-30. #31-72 should be fine as they are hardware counters. I have not thoroughly tested so I'm not completely sure, but I think you'll get data for these without the instrumented driver running.
     
  14. Cru_N_cher

    Cru_N_cher Master Guru

    Messages:
    770
    Likes Received:
    0
    GPU:
    MSI NX8800GT OC
    If i understand it correct this is true for the Vista/7 Drivers but not for XP ?

    nvperfcountcli gives me this error also with instrumentation on without the instrumented driver

    NVPerfAPI initialization failed with error code: 4294967294
     
  15. dadutch

    dadutch New Member

    Messages:
    5
    Likes Received:
    0
    GPU:
    MSI GeForce GTX 470
    Any progress on the 64bit plugin?
    Would be awesome to add the GPU usage to the Rivatuner OSD, nothing else worked so far.

    When I add this plugin to rivatuner i'm getting some realy strange readings, when my GPU is idle the GPU usage is 53% with this plugin. (GPU-z running in the background)
    Any sugestions?

    I'm on Windows 7 x64 with Forceware 197.13. GTX280
     
    Last edited: Apr 23, 2010

  16. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Unfortunately, no. Nvidia has provided me some code that should allow me to leverage the APIs using the "32 bit apps on 64 bit systems" version of PerfKit. However, I'm having some issues trying to get it to compile. I'm experienced in several programming languages, but I'm still a noob in C++ so I'm sure it is something I'm missing on my side. :confused: I'll obviously mention in this thread if/when I have a breakthrough.

    Not sure, I've never run this plugin.

    Unwinder is adding the following to RivaTuner 2.25. So you won't need NVPerCount to get it once this is released (I'm currently getting it through Everest). NVPerfCount will still be useful for other detailed info, like shader/texture/geometry usages, wait times, etc.
     
  17. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Guess I spoke a day too soon. I'm now past the noob compiler errors and successfully initializing the APIs on Win7 x64 using a 32 bit application. I need to do some testing now, and assuming that goes well, will hopefully have a plug-in shortly.
     
    Last edited: Apr 26, 2010
  18. dadutch

    dadutch New Member

    Messages:
    5
    Likes Received:
    0
    GPU:
    MSI GeForce GTX 470
    Thanks! Can't wait! :)
     
  19. stangowner

    stangowner Master Guru

    Messages:
    586
    Likes Received:
    0
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Its looking good. Here is a shot of the plugin running on Windows 7 x64 running FurMark. Give me another day or two and I'll post it.

    [​IMG]
     
  20. dadutch

    dadutch New Member

    Messages:
    5
    Likes Received:
    0
    GPU:
    MSI GeForce GTX 470
     

Share This Page