Performance Counter monitoring plugin

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

  1. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    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).
     
  2. burebista

    burebista Ancient Guru

    Messages:
    1,740
    Likes Received:
    36
    GPU:
    MSI GTX1060GAMING X
    Nope, Seven x64 RTM
    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
    Yep.
     
  3. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    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
    
     
  4. burebista

    burebista Ancient Guru

    Messages:
    1,740
    Likes Received:
    36
    GPU:
    MSI GTX1060GAMING X
    OK, but which are useful? :3eyes:
    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. :nerd:
     

  5. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    You might not realize it yet, but you're helping me compile that list :heh:
    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.
    So am I. I just wanted some help testing it before commiting :nerd:
     
  6. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    hi, i've had some troubles adding counters outside of the Win32_PerfRawData_PerfOS_System class.

    Seems like the only ones I am able to do are like this:

    [Source0]
    ID = \System\File Read Bytes/sec
    Name = Disk Mbits/sec Read
    Dim = Mb/s
    MaxLimit = 972
    MinLimit = 0
    GridDim = 10
    Desc = Disk Megabits Read per Second
    Group = HDD
    ModType = 1
    ModFactor = 0.00000762939453

    [Source1]
    ID = \System\File Write Bytes/sec
    Name = Disk Mbits/sec Write
    Dim = Mb/s
    MaxLimit = 972
    MinLimit = 0
    GridDim = 10
    Desc = Disk Megabits Write per Second
    Group = HDD
    ModType = 1
    ModFactor = 0.00000762939453


    I am able to add "\Processor(_Total)\% Processor Time"

    I also am not able to add any counters from the following classes:

    Win32_PerfRawData_PerfDisk_LogicalDisk
    Win32_PerfRawData_PerfDisk_PhysicalDisk
    Win32_PerfRawData_Tcpip_NetworkInterface

    for example: when i attempt to use LogicalDisk...

    C:\Temp\rivatuner_perfcounter0.9b>PerfCounterCLI "\LogicalDisk(_Total)\Avg. Disk Bytes\Transfer"
    Counter provided via argument: \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    PdhAddCounter failed with status 0xc0000bb8.
    C:\Temp\rivatuner_perfcounter0.9b>


    oh i wanted to add that i'm using the following:
    XFX 780i ISH9
    Intel E6850 3.0GHz
    Vista64
     
    Last edited: Oct 16, 2009
  7. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    I tried querying a few of the LogicalDisk and PhysicalDisk counters and could not either. But I was getting error 0xc0000bc0(Unable to parse the counter path. Check the format and syntax of the specified path.), not 0xc0000bb8 (The specified object is not found on the system.).

    I opened one in perfmon, and it was fine. So I tried an elevated command prompt.....and it worked??!!! So I went back to my normal user prompt and it works there too now. That is weird. So I rebooted and tried those again, along with a network interface counter.....and it all works. I have no idea why, unless accessing it the first time as an admin registers the counter.

    Here is my PC (Win7x64 RTM) accessing those values:

    C:\Users\Nick>cd "c:\temp\PerfCount_v0.9"
    c:\temp\PerfCount_v0.9>PerfCounterCLI.exe
    Counter selected by user: \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    Press any key to stop collection
    "10/16/2009 18:57:59.684","14484.737430167597"
    "10/16/2009 18:58:00.698","63511.54022988506"
    "10/16/2009 18:58:01.712","21504"
    "10/16/2009 18:58:02.726","16756.363636363636"

    c:\temp\PerfCount_v0.9>PerfCounterCLI.exe
    Counter selected by user: \PhysicalDisk(_Total)\Avg. Disk Bytes/Transfer
    Press any key to stop collection
    "10/16/2009 18:58:53.957","4096"
    "10/16/2009 18:58:54.971","0"
    "10/16/2009 18:58:55.985","3840"
    "10/16/2009 18:58:56.999","5266.2857142857147"
    "10/16/2009 18:58:58.013","0"

    c:\temp\PerfCount_v0.9>PerfCounterCLI.exe
    Counter selected by user: \Network Interface(*)\Bytes Total/sec
    Press any key to stop collection
    "10/16/2009 19:00:17.059","0"
    "10/16/2009 19:00:18.073","0"
    "10/16/2009 19:00:19.087","209.07586571673687"
    "10/16/2009 19:00:20.101","0"
    "10/16/2009 19:00:21.115","504.94927819824369"
    "10/16/2009 19:00:22.129","209.07683446508995"
    "10/16/2009 19:00:23.143","0"
    "10/16/2009 19:00:24.157","0"
    c:\temp\PerfCount_v0.9>

    Do they work in perfmon? Also, maybe try PerfCounterCLI.exe again from an elevated command prompt.

    Please let me know how you make out.
     
  8. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    i elevated cmd privs with no luck and same errors, perfmon does show the counters though.. of course UAC always kicks in when i start that app. but that shouldn't effect cmd when i execute it as admin.

    (elevated cmd)
    [​IMG]


    [​IMG]

    just to make sure i was not getting any typos, i saved the config (.tsv) from perfmon to see what the counter, instance, and objects are... i'm 99% sure i'm using them correctly.
     
  9. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    true
    you can always just run the app without an argument and it gives you the dialog to select the counter from - and prints what you selected to the screen


    I just booted into a fresh install of Vista x64 SP2. I installed a video driver and rebooted. Then installed the VC++ 2008 Redistributable and tried to run the PerfCounterCLI.exe. I never opened perfmon or an elevated command prompt, and did not even run Windows update. I successfully queried the following:

    \PhysicalDisk(_Total)\Avg. Disk Bytes/Transfer
    \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    \LogicalDisk(C:)\Avg. Disk Bytes/Transfer
    \Network Interface(NVIDIA nForce Networking Controller)\Bytes Total/sec

    I looked to see if there were any fixes for PDH on Vista. I found one, but it is concerning memory leaks. But anyways, can you tell me what versions you have for pdh.dll? Here is what I am showing on this fresh install.

    version: 6.0.6002.18005 for both of these files:
    C:\Windows\System32\pdh.dll
    C:\Windows\SysWOW64\pdh.dll

    I'm not sure what to do at this point. I can not even reproduce the issue to try and resolve it. I'll continue to test/ivestigate though.
     
  10. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    hi, i also have versions 6.0.6002.18005

    i executed perfcountercli gui instead of at the cmd line and the list of counters available doesn't list PhysicalDisk, LogicalDisk, nor Network Inteface ... that seems strange!

    o_O

    i wonder why it is not showing up in your tool.. maybe that is a good starting point?

    let me know if you want me to run some type of debug or special check.
     

  11. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Hmmmm. That is strange!

    I was just googling around a little, and found a program on Microsoft's site that does about the same thing as mine. Can you download it and try? Its a self-extracting exe with 11 files in it.

    Running PDHObjects.exe shows all the objects, instances and counters on the system in a tree view. They are not in aphabetical order, but I do show those objects (PhysicalDisk, etc) on my system.

    Running PDHCounters.exe shows the same dialog I am using. I still see them there, but do not get any values echoed to the screen (granted this app was written in 1998).

    I'm curious to see if it is something in my app or on your system. I've double checked the code and dialog options in my app, and do not see anything that would cause the issue.

    Let me know how you make out.
     
  12. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Can you do one more thing?

    Open a command Prompt with elevated rights. Switch the working directory to C:\Windows\System32. Enter the following command:
    lodctr.exe /S:LodCtrBackup.txt

    This will create a file in that directory called LodCtrBackup.txt. Open that and search for those objects. I get the following. Are you getting something similar?

    234=PhysicalDisk
    235=The Physical Disk performance object consists of counters that monitor hard or fixed disk drive on a computer. Disks are used to store file, program, and paging data and are read to retrieve these items, and written to record changes to them. The values of physical disk counters are sums of the values of the logical disks (or partitions) into which they are divided.

    236=LogicalDisk
    237=The Logical Disk performance object consists of counters that monitor logical partitions of a hard or fixed disk drives. Performance Monitor identifies logical disks by their a drive letter, such as C.

    510=Network Interface
    511=The Network Interface performance object consists of counters that measure the rates at which bytes and packets are sent and received over a TCP/IP network connection. It includes counters that monitor connection errors.

    Edit:

    Also, you did not mention what mobo/chipset you are using. I'm not sure who provides these counters, but it may be the chipset driver so that could be a factor.

    And one last thing for now. Is your "Performance Counter DLL Host" windows service running? If not, does it start when you launch perfmon? And/or does running it make a difference?
     
    Last edited: Oct 18, 2009
  13. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    i must apologize, i had been busy with work tasks and have not been able to perform what you requested.

    i also am in the process of installing windows 7, x64

    i saved an image of the Vista x64 system i was using, if i get a chance to go back sometime to verify your requests i will.

    i think though first, i will attempt to get win7x64 going and will also test your tool. so far i like this OS much better.
     
  14. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    NP. Thanks for the update. Let me know how you make out on the new system.
     
  15. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    well.. got win7x64 up and running.. latest nvidia drivers and such. runs good.

    one good thing though, PerfCounterCLI works great and see's all of the system's counters (including the ones that were missing before!).. good right?

    well... in rivatuner hardware monitoring, eventhough i can enable PerfCount.dll in the plugins, none of the counters i setup in perfcount.cfg are showing up to enable them >.<

    not sure what the disconnect is there... still working on it.
     

  16. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    Great.....progress :)

    Was it working with just the 3 standard ones in the default config? Can you post or pm me your config?
     
  17. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    hi, it does not seem to work with default config you have provided either. no counters defined in the file are showing up in the hardware monitoring > setup > data sources list.

    the config i setup was:
    [Settings]
    Export = 0

    [Source0]
    ID = \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    Name = Disk Mbits/sec Transfer
    Dim = Mb/s
    MaxLimit = 972
    MinLimit = 0
    GridDim = 10
    Desc = Disk Megabits/s Average
    Group = HDD
    ModType = 1
    ModFactor = 0.00000762939453

    [Source1]
    ID = \Network Interface(NVIDIA nForce 10_100_1000 Mbps Ethernet)\Bytes Received/sec
    Name = Net Kb/sec Inbound
    Dim = Kb/s
    MaxLimit = 6000
    MinLimit = 0
    GridDim = 10
    Desc = Net Kilobits/s Received
    Group = HDD
    ModType = 1
    ModFactor = 0.0078125

    [Source2]
    ID = \Network Interface(NVIDIA nForce 10_100_1000 Mbps Ethernet)\Bytes Sent/sec
    Name = Net Kb/sec Outbound
    Dim = Kb/s
    MaxLimit = 6000
    MinLimit = 0
    GridDim = 10
    Desc = Net Kilobits/s Sent
    Group = HDD
    ModType = 1
    ModFactor = 0.0078125

    [Source3]
    ID = \Processor(_Total)\% Processor Time
    Name = CPU Usage
    Dim = %
    MaxLimit = 100
    MinLimit = 0
    GridDim = 10
    Desc = Processor Usage Time
    Group = CPU
    ModType = 0
     
  18. stangowner

    stangowner Guest

    Messages:
    607
    Likes Received:
    11
    GPU:
    2xMSI N550GTX-Ti Cy II OC
    I just copied and pasted your cfg into mine. I changed the name of the network controller and added the last ModFactor that was missing. Here is the final cfg.
    Code:
    [Settings]
    Export  = 0
     
    [Source0]
    ID = \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    Name = Disk Mbits/sec Transfer
    Dim = Mb/s
    MaxLimit = 972
    MinLimit = 0
    GridDim = 10
    Desc = Disk Megabits/s Average
    Group = HDD
    ModType = 1
    ModFactor = 0.00000762939453
     
    [Source1]
    ID = \Network Interface(NVIDIA nForce Networking Controller)\Bytes Received/sec
    Name = Net Kb/sec Inbound
    Dim = Kb/s
    MaxLimit = 6000
    MinLimit = 0
    GridDim = 10
    Desc = Net Kilobits/s Received
    Group = HDD
    ModType = 1
    ModFactor = 0.0078125
     
    [Source2]
    ID = \Network Interface(NVIDIA nForce Networking Controller)\Bytes Sent/sec
    Name = Net Kb/sec Outbound
    Dim = Kb/s
    MaxLimit = 6000
    MinLimit = 0
    GridDim = 10
    Desc = Net Kilobits/s Sent
    Group = HDD
    ModType = 1
    ModFactor = 0.0078125
     
    [Source3]
    ID = \Processor(_Total)\% Processor Time
    Name = CPU Usage
    Dim = %
    MaxLimit = 100
    MinLimit = 0
    GridDim = 10
    Desc = Processor Usage Time
    Group = CPU
    ModType = 0 
    ModFactor = 1024
    
    I had to restart RT (not just disable & enable the plugin), but it is working fine. I started a large download to test the network transfer readings.

    [​IMG]

    You can query all those fine with PerfCounterCLI.exe? EDIT: Nevermind, you already answered yes to this.

    Maybe to simplify just try one at a time? Do any of them work?
     
    Last edited: Oct 20, 2009
  19. tswalker

    tswalker Member

    Messages:
    14
    Likes Received:
    0
    GPU:
    XFX 8600 GTS
    i simplified the config file to a single entry:

    [Settings]
    Export = 0

    [Source0]
    ID = \LogicalDisk(_Total)\Avg. Disk Bytes/Transfer
    Name = Disk Mbits/sec Transfer
    Dim = Mb/s
    MaxLimit = 972
    MinLimit = 0
    GridDim = 10
    Desc = Disk Megabits/s Average
    Group = HDD
    ModType = 1
    ModFactor = 0.00000762939453


    and no, it is not working >.<
     
  20. burebista

    burebista Ancient Guru

    Messages:
    1,740
    Likes Received:
    36
    GPU:
    MSI GTX1060GAMING X
    This
    Code:
    [Source5]
    ID			= \PhysicalDisk(0 W: C:)\Disk Write Bytes/sec
    Name		= SSD KB Write
    Dim			= KB/S
    MaxLimit	= 100
    MinLimit	= 0
    GridDim		= 10
    Desc		= Total SSD KiloBytes write per Second
    Group		= HDD
    ModType		= 2
    ModFactor	= 1024
    
    [Source6]
    ID			= \PhysicalDisk(0 W: C:)\Disk Read Bytes/sec
    Name		= SSD KB Read
    Dim			= KB/S
    MaxLimit	= 100
    MinLimit	= 0
    GridDim		= 10
    Desc		= Total SSD KiloBytes read per Second
    Group		= HDD
    ModType		= 2
    ModFactor	= 1024
    
    show me this

    [​IMG]

    I have no idea if it's something meaningful but at least it's moving. :D
     

Share This Page