private void InitiateBenchmark() { if (listView1.Items.Count > index) { ListViewItem lvi = listView1.Items[index]; index++; if (!lvi.Checked) { InitiateBenchmark(); return; } Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; lvi.SubItems[3].Text = "Please wait..."; inBenchmark = true; CurrentlyBenchmarking = m; if (m is cpuminer) { Time = Config.ConfigData.BenchmarkTimeLimitsCPU[TimeIndex]; } else if (m is ccminer) { Time = Config.ConfigData.BenchmarkTimeLimitsNVIDIA[TimeIndex]; } else { Time = Config.ConfigData.BenchmarkTimeLimitsAMD[TimeIndex] / 60; // add an aditional minute if second is not 0 if (DateTime.Now.Second != 0) { Time += 1; } } m.BenchmarkStart(i, Time, BenchmarkCompleted, lvi); } else { // average all cpu benchmarks if (Form1.Miners[0] is cpuminer) { Helpers.ConsolePrint("BENCHMARK", "Calculating average CPU speeds:"); double[] Speeds = new double[Form1.Miners[0].SupportedAlgorithms.Length]; int[] MTaken = new int[Form1.Miners[0].SupportedAlgorithms.Length]; foreach (ListViewItem lvi in listView1.Items) { if (lvi.Tag is cpuminer) { Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; if (m.SupportedAlgorithms[i].BenchmarkSpeed > 0) { Speeds[i] += m.SupportedAlgorithms[i].BenchmarkSpeed; MTaken[i]++; } } } for (int i = 0; i < Speeds.Length; i++) { if (MTaken[i] > 0) { Speeds[i] /= MTaken[i]; } Helpers.ConsolePrint("BENCHMARK", Form1.Miners[0].SupportedAlgorithms[i].NiceHashName + " average speed: " + Form1.Miners[0].PrintSpeed(Speeds[i])); foreach (Miner m in Form1.Miners) { if (m is cpuminer) { m.SupportedAlgorithms[i].BenchmarkSpeed = Speeds[i]; } } } } foreach (ListViewItem lvi in listView1.Items) { Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; lvi.SubItems[3].Text = m.PrintSpeed(m.SupportedAlgorithms[i].BenchmarkSpeed); } Config.RebuildGroups(); button1.Enabled = true; button2.Enabled = false; button3.Enabled = true; } }
private void InitiateBenchmark() { if (listView1.Items.Count > index) { ListViewItem lvi = listView1.Items[index]; index++; if (!lvi.Checked) { InitiateBenchmark(); return; } Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; //lvi.SubItems[3].Text = "Please wait..."; inBenchmark = true; CurrentlyBenchmarking = m; if (m is cpuminer) { Time = Config.ConfigData.BenchmarkTimeLimitsCPU[TimeIndex]; lvi.SubItems[3].Text = String.Format(International.GetText("form2_listView_WaitSeconds"), Time); } else if (m is ccminer) { Time = Config.ConfigData.BenchmarkTimeLimitsNVIDIA[TimeIndex]; if (lvi.SubItems[2].Text.Equals("daggerhashimoto")) { lvi.SubItems[3].Text = International.GetText("form2_listView_WaitForEth"); } else { lvi.SubItems[3].Text = String.Format(International.GetText("form2_listView_WaitSeconds"), Time); } } else { Time = Config.ConfigData.BenchmarkTimeLimitsAMD[TimeIndex] / 60; // add an aditional minute if second is not 0 if (DateTime.Now.Second != 0) { Time += 1; } if (lvi.SubItems[2].Text.Equals("daggerhashimoto")) { lvi.SubItems[3].Text = International.GetText("form2_listView_WaitForEth"); } else { lvi.SubItems[3].Text = String.Format(International.GetText("form2_listView_WaitMinutes"), Time); } } m.BenchmarkStart(i, Time, BenchmarkCompleted, lvi); } else { // average all cpu benchmarks if (Globals.Miners[0] is cpuminer) { Helpers.ConsolePrint("BENCHMARK", "Calculating average CPU speeds:"); double[] Speeds = new double[Globals.Miners[0].SupportedAlgorithms.Length]; int[] MTaken = new int[Globals.Miners[0].SupportedAlgorithms.Length]; foreach (ListViewItem lvi in listView1.Items) { if (lvi.Tag is cpuminer) { Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; if (m.SupportedAlgorithms[i].BenchmarkSpeed > 0) { Speeds[i] += m.SupportedAlgorithms[i].BenchmarkSpeed; MTaken[i]++; } } } for (int i = 0; i < Speeds.Length; i++) { if (MTaken[i] > 0) { Speeds[i] /= MTaken[i]; } Helpers.ConsolePrint("BENCHMARK", Globals.Miners[0].SupportedAlgorithms[i].NiceHashName + " average speed: " + Globals.Miners[0].PrintSpeed(Speeds[i])); foreach (Miner m in Globals.Miners) { if (m is cpuminer) { m.SupportedAlgorithms[i].BenchmarkSpeed = Speeds[i]; } } } } foreach (ListViewItem lvi in listView1.Items) { Miner m = lvi.Tag as Miner; int i = (int)lvi.SubItems[2].Tag; lvi.SubItems[3].Text = m.PrintSpeed(m.SupportedAlgorithms[i].BenchmarkSpeed); } Config.RebuildGroups(); buttonStartBenchmark.Enabled = true; buttonStopBenchmark.Enabled = false; buttonReset.Enabled = true; buttonClose.Enabled = true; buttonCheckProfitability.Enabled = true; buttonSubmitHardware.Enabled = true; } }