Ejemplo n.º 1
0
        /// <summary>
        ///  metoda wykonywana podczas włączenia okna
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void WindowLoad(object sender, EventArgs e)
        {
            // nazwa głównego okna

            // metoda, która zlicza ilość fizycznych procesorów
            model.CountPhysicalProcessors(physicalProcessorsLabel);
            // metoda, która zlicza liczbę rdzeni w CPU
            model.CountCores(coresLabel);
            // metoda, któr zlicza liczbę logicznych procesorów
            model.SetLogicalProcessors(logicalProcessorsLabel, model.CountLogicalProcessors(false));
            // ustawia liczbę optymalnych wątków dla aplikacji
            ActiveThreadsComboBox.SelectedItem = model.CountLogicalProcessors(true);
            // ustawia domyślną wartość sepii na 0
            SepiaComboBox.SelectedItem = "0";
            // ustawia domyślną wartość radiobutton
            CsharpRadioButton.Checked = true;
            // sprawdza obsługę MMX i AVX oraz w przypadku braku obsługi instrukcji uniemożliwia jej wykonanie
            if (CheckCompabilites() == false)
            {
                // informacja w przypadku braku obsługi asemblera
                AsmRadioButton.Enabled = false;
                MessageBox.Show("Processor do not support MMX or AVX instructions set", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            // sprawdza wersję frameworku i zamyka aplikacje gdy jej brakuje
            if (ImageAndEnvironmentalDataModel.CheckFrameworkVersion() == false)
            {
                // obsługa odpowiedniej wersji frameworka dla programu
                MessageBox.Show("Outdated version of .NET framework. Version 4.7.2 or newer is required!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                System.Windows.Forms.Application.Exit();                                                    // zamknięcie okna aplikacji
            }
        }