private void button2_Click(object sender, EventArgs e) { multiThreadTest.esplisedTime = 0; DouthreadTest dtt = new DouthreadTest(); //dtt.threadtasks[0] = multiThreadTest.Int4SSE_MAX; //dtt.threadtasks[1] = multiThreadTest.Double_4SSEMAX; dtt.threadtasks[0] = multiThreadTest.Double_MaMulTest; dtt.threadtasks[1] = multiThreadTest.Int_MaMulTest; dtt.Start(); listBox1.Items.Add("混合双线程自动sse浮点:" + dtt.eslipsedtimes[0].ToString() + "自动sse整数" + dtt.eslipsedtimes[1].ToString()); }
private void Double_ThreadTest() { testResult = new UIdelegete(DouThreadtestResultFlash); var tdsin = new Thread(Sin_Tdtest); tdsin.Start(); tdsin.Join(); var dtt = new DouthreadTest(); dtt.threadtasks[0] = multiThreadTest.Inttest; dtt.threadtasks[1] = multiThreadTest.Inttest; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; //浮点 dtt.threadtasks[0] = multiThreadTest.Floattest; dtt.threadtasks[1] = multiThreadTest.Floattest; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; //rbg插值 dtt.threadtasks[0] = multiThreadTest.RGBInsert; dtt.threadtasks[1] = multiThreadTest.RGBInsert; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; //渲染 dtt.threadtasks[0] = multiThreadTest.renderTest; dtt.threadtasks[1] = multiThreadTest.renderTest; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; //浮点矩阵 dtt.threadtasks[0] = multiThreadTest.FloatMax; dtt.threadtasks[1] = multiThreadTest.FloatMax; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; //整数矩阵 dtt.threadtasks[0] = multiThreadTest.IntMax; dtt.threadtasks[1] = multiThreadTest.IntMax; dtt.Start(); dtt.reset(); resultRecord.Enqueue(multiThreadTest.esplisedTime / 4); multiThreadTest.esplisedTime = 0; this.Invoke(testResult); }
private void button8_Click(object sender, EventArgs e) { multiThreadTest.esplisedTime = 0; DouthreadTest dtt = new DouthreadTest(); string str1 = "单项双线程————"; if (renda.Checked) { dtt.threadtasks[0] = multiThreadTest.renderTest; dtt.threadtasks[1] = multiThreadTest.renderTest; str1 += "光照渲染器"; } else if (inttest.Checked) { dtt.threadtasks[0] = multiThreadTest.Inttest; dtt.threadtasks[1] = multiThreadTest.Inttest; str1 += "随机整数"; } else if (floattest.Checked) { dtt.threadtasks[0] = multiThreadTest.Floattest; dtt.threadtasks[1] = multiThreadTest.Floattest; str1 += "随机浮点"; } else if (rgbinsert.Checked) { dtt.threadtasks[0] = multiThreadTest.RGBInsert; dtt.threadtasks[1] = multiThreadTest.RGBInsert; str1 += "双线性插值"; } else if (autossedble.Checked) { dtt.threadtasks[0] = multiThreadTest.FloatMax; dtt.threadtasks[1] = multiThreadTest.FloatMax; str1 += "自动sse浮点矩阵"; } else if (autosseint.Checked) { dtt.threadtasks[0] = multiThreadTest.IntMax; dtt.threadtasks[1] = multiThreadTest.IntMax; str1 += "自动sse整数矩阵"; } else if (sse4f.Checked) { dtt.threadtasks[0] = multiThreadTest.Double_4SSEMAX; dtt.threadtasks[1] = multiThreadTest.Double_4SSEMAX; str1 += "四路sse浮点矩阵"; } else if (fourwaysseint.Checked) { dtt.threadtasks[0] = multiThreadTest.Int4SSE_MAX; dtt.threadtasks[1] = multiThreadTest.Int4SSE_MAX; str1 += "四路sse整数矩阵"; } else if (avx4f.Checked) { dtt.threadtasks[0] = multiThreadTest.Double_4AVXMAX; dtt.threadtasks[1] = multiThreadTest.Double_4AVXMAX; str1 += "四路avx浮点矩阵"; } else if (ia32dblmaxmul.Checked) { dtt.threadtasks[0] = multiThreadTest.Double_MaMulTest; dtt.threadtasks[1] = multiThreadTest.Double_MaMulTest; str1 += "ia32浮点矩阵"; } else if (ia32intmaxmul.Checked) { dtt.threadtasks[0] = multiThreadTest.Int_MaMulTest; dtt.threadtasks[1] = multiThreadTest.Int_MaMulTest; str1 += "ia32整数矩阵"; } else { return; } dtt.Start(); listBox1.Items.Add(str1 + "————" + dtt.eslipsedtimes[0].ToString() + "," + dtt.eslipsedtimes[1]); multiThreadTest.esplisedTime = 0; }