Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void timer1_Tick(object sender, EventArgs e)
- {
- string hardwareName = "";
- float temp = 0;
- byte count = 0, gpu_temp_count = 0, gpu_load_count=0;
- float totalLoad = 0, load1 = 0, load2 = 0, load3 = 0, load4 = 0;
- float[] GpuTemps = new float[NGPUsCount];
- float[] GpuLoads = new float[NGPUsCount * 5]; // five readings for each GPU;
- List<float> GPUTempsList = new List<float>();
- List<float> GPULoadsList = new List<float>();
- hardwareElements = "";
- // first coung gpus
- // display info
- hardwareElements += "No of Nvidia GPUs ";
- hardwareElements += NGPUsCount;
- hardwareElements += Environment.NewLine;
- // get data
- foreach (var hardwareItem in myComputer.Hardware)
- {
- hardwareItem.Update();
- hardwareElements += hardwareItem.Name;
- hardwareElements += Environment.NewLine;
- // create storage for gpu data
- // get Nvidia GPU data
- if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
- {
- foreach (var sensor in hardwareItem.Sensors)
- {
- if (sensor.SensorType == SensorType.Temperature)
- {
- hardwareElements += "Temp ";
- hardwareElements += sensor.Value;
- hardwareElements += " ";
- hardwareElements += Environment.NewLine;
- GpuTemps[gpu_temp_count] = sensor.Value.Value;
- GPUTempsList.Add(sensor.Value.Value);
- gpu_temp_count++;
- }
- else if (sensor.SensorType == SensorType.Load)
- {
- hardwareElements += "Load ";
- hardwareElements += sensor.Value;
- hardwareElements += "% ";
- hardwareElements += Environment.NewLine;
- GpuLoads[gpu_load_count] = sensor.Value.Value;
- GPULoadsList.Add(sensor.Value.Value);
- gpu_load_count++;
- }
- }
- }
- if (hardwareItem.HardwareType == HardwareType.CPU)
- {
- hardwareItem.Update();
- foreach (IHardware subHardware in hardwareItem.SubHardware)
- {
- subHardware.Update();
- }
- foreach (var name in hardwareItem.Name)
- {
- hardwareName += name;
- }
- foreach (var sensor in hardwareItem.Sensors)
- {
- if (sensor.SensorType == SensorType.Temperature)
- {
- temp = sensor.Value.Value;
- }
- else if (sensor.SensorType == SensorType.Load)
- {
- count++;
- switch (count)
- {
- case 1: load1 = sensor.Value.Value; break;
- case 2: load2 = sensor.Value.Value; break;
- case 3: load3 = sensor.Value.Value; break;
- case 4: load4 = sensor.Value.Value; break;
- case 5: totalLoad = sensor.Value.Value; break;
- }
- }
- }
- label_hardwareName.Text = "Processor: " + hardwareName;
- progressBar_totalLoad.Value = Convert.ToInt32(Math.Round(totalLoad));
- progressBar_core1Load.Value = Convert.ToInt32(Math.Round(load1));
- progressBar_core2Load.Value = Convert.ToInt32(Math.Round(load2));
- progressBar_core3Load.Value = Convert.ToInt32(Math.Round(load3));
- progressBar_core4Load.Value = Convert.ToInt32(Math.Round(load4));
- label_TotalLoad.Text = string.Format("{0:0.00}", totalLoad);
- label_core1Load.Text = string.Format("{0:0.00}", load1);
- label_core2Load.Text = string.Format("{0:0.00}", load2);
- label_core3Load.Text = string.Format("{0:0.00}", load3);
- label_core4Load.Text = string.Format("{0:0.00}", load4);
- progressBar_cpuTemp.Value = Convert.ToInt32(Math.Round(temp));
- label_cpuTemp.Text = string.Format("{0:0.00} C", temp);
- if (serialPort1.IsOpen)
- {
- serialPort1.Write(temp + "\n");
- }
- }
- for (var i = 0; i < GPUTempsList.Count(); i++)
- {
- hardwareElements += Environment.NewLine;
- hardwareElements += "GPU_";
- hardwareElements += i;
- hardwareElements += ' ';
- hardwareElements += GPUTempsList[i].ToString();
- hardwareElements += ' ';
- hardwareElements += GPULoadsList[i].ToString();
- hardwareElements += ' ';
- hardwareElements += GPULoadsList[i + 1].ToString();
- hardwareElements += ' ';
- hardwareElements += GPULoadsList[i + 2].ToString();
- hardwareElements += ' ';
- hardwareElements += GPULoadsList[i + 3].ToString();
- hardwareElements += ' ';
- hardwareElements += GPULoadsList[i + 4].ToString();
- hardwareElements += Environment.NewLine;
- }
- }
- textBox_info.Text = hardwareElements;
- }
Advertisement
Add Comment
Please, Sign In to add comment