Guest User

Untitled

a guest
Mar 28th, 2023
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.44 KB | None | 0 0
  1. private void timer1_Tick(object sender, EventArgs e)
  2. {
  3. string hardwareName = "";
  4. float temp = 0;
  5. byte count = 0, gpu_temp_count = 0, gpu_load_count=0;
  6. float totalLoad = 0, load1 = 0, load2 = 0, load3 = 0, load4 = 0;
  7. float[] GpuTemps = new float[NGPUsCount];
  8. float[] GpuLoads = new float[NGPUsCount * 5]; // five readings for each GPU;
  9. List<float> GPUTempsList = new List<float>();
  10. List<float> GPULoadsList = new List<float>();
  11.  
  12.  
  13. hardwareElements = "";
  14.  
  15. // first coung gpus
  16.  
  17.  
  18. // display info
  19. hardwareElements += "No of Nvidia GPUs ";
  20. hardwareElements += NGPUsCount;
  21. hardwareElements += Environment.NewLine;
  22.  
  23. // get data
  24. foreach (var hardwareItem in myComputer.Hardware)
  25. {
  26. hardwareItem.Update();
  27. hardwareElements += hardwareItem.Name;
  28. hardwareElements += Environment.NewLine;
  29.  
  30. // create storage for gpu data
  31.  
  32. // get Nvidia GPU data
  33. if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
  34. {
  35.  
  36. foreach (var sensor in hardwareItem.Sensors)
  37. {
  38. if (sensor.SensorType == SensorType.Temperature)
  39. {
  40.  
  41. hardwareElements += "Temp ";
  42. hardwareElements += sensor.Value;
  43. hardwareElements += " ";
  44. hardwareElements += Environment.NewLine;
  45. GpuTemps[gpu_temp_count] = sensor.Value.Value;
  46. GPUTempsList.Add(sensor.Value.Value);
  47. gpu_temp_count++;
  48.  
  49.  
  50. }
  51.  
  52. else if (sensor.SensorType == SensorType.Load)
  53. {
  54.  
  55. hardwareElements += "Load ";
  56. hardwareElements += sensor.Value;
  57. hardwareElements += "% ";
  58.  
  59. hardwareElements += Environment.NewLine;
  60. GpuLoads[gpu_load_count] = sensor.Value.Value;
  61. GPULoadsList.Add(sensor.Value.Value);
  62. gpu_load_count++;
  63. }
  64. }
  65.  
  66. }
  67.  
  68.  
  69.  
  70. if (hardwareItem.HardwareType == HardwareType.CPU)
  71. {
  72. hardwareItem.Update();
  73. foreach (IHardware subHardware in hardwareItem.SubHardware)
  74. {
  75. subHardware.Update();
  76.  
  77. }
  78.  
  79. foreach (var name in hardwareItem.Name)
  80. {
  81. hardwareName += name;
  82. }
  83.  
  84. foreach (var sensor in hardwareItem.Sensors)
  85. {
  86. if (sensor.SensorType == SensorType.Temperature)
  87. {
  88. temp = sensor.Value.Value;
  89. }
  90.  
  91. else if (sensor.SensorType == SensorType.Load)
  92. {
  93. count++;
  94. switch (count)
  95. {
  96. case 1: load1 = sensor.Value.Value; break;
  97. case 2: load2 = sensor.Value.Value; break;
  98. case 3: load3 = sensor.Value.Value; break;
  99. case 4: load4 = sensor.Value.Value; break;
  100. case 5: totalLoad = sensor.Value.Value; break;
  101.  
  102. }
  103.  
  104. }
  105. }
  106.  
  107. label_hardwareName.Text = "Processor: " + hardwareName;
  108.  
  109. progressBar_totalLoad.Value = Convert.ToInt32(Math.Round(totalLoad));
  110. progressBar_core1Load.Value = Convert.ToInt32(Math.Round(load1));
  111. progressBar_core2Load.Value = Convert.ToInt32(Math.Round(load2));
  112. progressBar_core3Load.Value = Convert.ToInt32(Math.Round(load3));
  113. progressBar_core4Load.Value = Convert.ToInt32(Math.Round(load4));
  114.  
  115. label_TotalLoad.Text = string.Format("{0:0.00}", totalLoad);
  116. label_core1Load.Text = string.Format("{0:0.00}", load1);
  117. label_core2Load.Text = string.Format("{0:0.00}", load2);
  118. label_core3Load.Text = string.Format("{0:0.00}", load3);
  119. label_core4Load.Text = string.Format("{0:0.00}", load4);
  120.  
  121. progressBar_cpuTemp.Value = Convert.ToInt32(Math.Round(temp));
  122. label_cpuTemp.Text = string.Format("{0:0.00} C", temp);
  123.  
  124.  
  125.  
  126. if (serialPort1.IsOpen)
  127. {
  128. serialPort1.Write(temp + "\n");
  129. }
  130.  
  131.  
  132.  
  133. }
  134. for (var i = 0; i < GPUTempsList.Count(); i++)
  135. {
  136. hardwareElements += Environment.NewLine;
  137. hardwareElements += "GPU_";
  138. hardwareElements += i;
  139. hardwareElements += ' ';
  140. hardwareElements += GPUTempsList[i].ToString();
  141. hardwareElements += ' ';
  142. hardwareElements += GPULoadsList[i].ToString();
  143. hardwareElements += ' ';
  144. hardwareElements += GPULoadsList[i + 1].ToString();
  145. hardwareElements += ' ';
  146. hardwareElements += GPULoadsList[i + 2].ToString();
  147. hardwareElements += ' ';
  148. hardwareElements += GPULoadsList[i + 3].ToString();
  149. hardwareElements += ' ';
  150. hardwareElements += GPULoadsList[i + 4].ToString();
  151. hardwareElements += Environment.NewLine;
  152. }
  153.  
  154.  
  155.  
  156. }
  157. textBox_info.Text = hardwareElements;
  158.  
  159. }
Advertisement
Add Comment
Please, Sign In to add comment