// methods public void SetDefaults() { ConfigFileVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; Language = LanguageType.En; ForceCPUExtension = CpuExtensionType.Automatic; BitcoinAddress = ""; WorkerName = "worker1"; TimeUnit = TimeUnitType.Day; ServiceLocation = 0; AutoStartMining = false; //LessThreads = 0; DebugConsole = false; HideMiningWindows = false; MinimizeToTray = false; BenchmarkTimeLimits = new BenchmarkTimeLimitsConfig(); DeviceDetection = new DeviceDetectionConfig(); DisableAMDTempControl = true; DisableDefaultOptimizations = false; AutoScaleBTCValues = true; StartMiningWhenIdle = false; DisableWhileInVR = true; DisableWhileUnrealLightmassRunning = true; LogToFile = true; LogMaxFileSize = 1048576; ShowDriverVersionWarning = true; DisableWindowsErrorReporting = true; ShowInternetConnectionWarning = true; NVIDIAP0State = false; MinerRestartDelayMS = 500; ethminerDefaultBlockHeight = 2000000; SwitchMinSecondsFixed = 90; SwitchMinSecondsDynamic = 30; SwitchMinSecondsAMD = 90; SwitchProfitabilityThreshold = 0.05; // percent MinIdleSeconds = 60; DisplayCurrency = "USD"; ApiBindPortPoolStart = 4000; MinimumProfit = 0; EthminerDagGenerationType = DagGenerationType.SingleKeep; DownloadInit = false; //ContinueMiningIfNoInternetAccess = false; IdleWhenNoInternetAccess = true; Use3rdPartyMiners = Use3rdPartyMiners.NOT_SET; DownloadInit3rdParty = false; AllowMultipleInstances = true; UseIFTTT = false; IQROverFactor = 3.0; NormalizedProfitHistory = 15; IQRNormalizeFactor = 0.0; CoolDownCheckEnabled = true; RunScriptOnCUDA_GPU_Lost = false; ForceSkipAMDNeoscryptLyraCheck = false; OverrideAMDBusIds = ""; SwitchSmaTimeChangeSeconds = new Interval(34, 55); SwitchSmaTicksStable = new Interval(2, 3); SwitchSmaTicksUnstable = new Interval(5, 13); UseSmaCache = true; UseEthlargement = false; }
/// <summary> /// HasExtensionSupport checks CPU extensions support, if type automatic just return false. /// </summary> /// <param name="type"></param> /// <returns>False if type Automatic otherwise True if supported</returns> private static bool HasExtensionSupport(CpuExtensionType type) { switch (type) { case CpuExtensionType.AVX2_AES: return((CpuID.SupportsAVX2() == 1) && (CpuID.SupportsAES() == 1)); case CpuExtensionType.AVX2: return(CpuID.SupportsAVX2() == 1); case CpuExtensionType.AVX_AES: return((CpuID.SupportsAVX() == 1) && (CpuID.SupportsAES() == 1)); case CpuExtensionType.AVX: return(CpuID.SupportsAVX() == 1); case CpuExtensionType.AES: return(CpuID.SupportsAES() == 1); case CpuExtensionType.SSE2: return(CpuID.SupportsSSE2() == 1); default: // CPUExtensionType.Automatic break; } return(false); }
/// <summary> /// HasExtensionSupport checks CPU extensions support, if type automatic just return false. /// </summary> /// <param name="type"></param> /// <returns>False if type Automatic otherwise True if supported</returns> private static bool HasExtensionSupport(CpuExtensionType type, CpuID cpuID) { switch (type) { case CpuExtensionType.AVX2_AES: return(cpuID.SupportsAVX2 && cpuID.SupportsAES_SSE42); case CpuExtensionType.AVX2: return(cpuID.SupportsAVX2); case CpuExtensionType.AVX_AES: return(cpuID.SupportsAVX && cpuID.SupportsAES_SSE42); case CpuExtensionType.AVX: return(cpuID.SupportsAVX); case CpuExtensionType.AES: return(cpuID.SupportsAES_SSE42); case CpuExtensionType.SSE2: return(cpuID.SupportsSSE2); default: // CPUExtensionType.Automatic break; } return(false); }
/// <summary> /// HasExtensionSupport checks CPU extensions support, if type automatic just return false. /// </summary> /// <param name="type"></param> /// <returns>False if type Automatic otherwise True if supported</returns> private static bool HasExtensionSupport(CpuExtensionType type, CpuID cpuID) => type switch {