private void CreateProcessAsync() { Task.Factory.StartNew(() => { lock (_locker) { try { // 清理除当前外的Temp/Kernel Cleaner.Instance.Clear(); NTMinerConsole.UserOk("场地打扫完毕"); // 应用超频 if (NTMinerContext.Instance.GpuProfileSet.IsOverClockEnabled(MainCoin.GetId())) { NTMinerConsole.UserWarn("应用超频,如果CPU性能较差耗时可能超过1分钟,请耐心等待"); var cmd = new CoinOverClockCommand(coinId: MainCoin.GetId()); AddOnecePath <CoinOverClockDoneEvent>("超频完成后继续流程", LogEnum.DevConsole, message => { // pathId是唯一的,从而可以断定该消息一定是因为该命令而引发的 ContinueCreateProcess(); }, location: this.GetType(), pathId: cmd.MessageId); // 超频是在另一个线程执行的,因为N卡超频当cpu性能非常差时较耗时 VirtualRoot.Execute(cmd); } else { ContinueCreateProcess(); } } catch (Exception e) { Logger.ErrorDebugLine(e); NTMinerConsole.UserFail("挖矿内核启动失败,请联系开发人员解决"); } } }); }
public override string GenerateScript() { try { //generate script and write to folder string command = EXENAME + " -epool " + MainCoinConfigurer.Pool; command += " -ewal " + MainCoinConfigurer.Wallet; command += " -epsw x "; if (DualCoin != null) { command += " -dpool " + DualCoinConfigurer.Pool; command += " -dwal " + DualCoinConfigurer.Wallet; command += " -ftime 10 "; command += " -mode 0 ";//dual mining mode command = DualCoin.GetScript(command); } else { command += " -mode 1 ";//eth only mode } command += " -allpools 1 "; command = MainCoin.GetScript(command); Script = SCRIPT1 + command; AutomaticScriptGeneration = true; SaveScriptToDB(); return(Script); } catch (Exception e) { return(""); } }
private void CreateProcessAsync() { Task.Factory.StartNew(() => { lock (_locker) { try { #if DEBUG NTStopwatch.Start(); #endif // 清理除当前外的Temp/Kernel Cleaner.Instance.Clear(); #if DEBUG var elapsedMilliseconds = NTStopwatch.Stop(); if (elapsedMilliseconds.ElapsedMilliseconds > NTStopwatch.ElapsedMilliseconds) { Write.DevTimeSpan($"耗时{elapsedMilliseconds} {this.GetType().Name}.{nameof(CreateProcessAsync)}[{nameof(Cleaner)}.{nameof(Cleaner.Clear)}]"); } #endif Write.UserOk("场地打扫完毕"); // 应用超频 if (NTMinerContext.Instance.GpuProfileSet.IsOverClockEnabled(MainCoin.GetId())) { Write.UserWarn("应用超频,如果CPU性能较差耗时可能超过1分钟,请耐心等待"); var cmd = new CoinOverClockCommand(coinId: MainCoin.GetId()); AddOnecePath <CoinOverClockDoneEvent>("超频完成后继续流程", LogEnum.DevConsole, message => { // pathId是唯一的,从而可以断定该消息一定是因为该命令而引发的 ContinueCreateProcess(); }, location: this.GetType(), pathId: cmd.MessageId); // 超频是在另一个线程执行的,因为N卡超频当cpu性能非常差时较耗时 VirtualRoot.Execute(cmd); } else { ContinueCreateProcess(); } } catch (Exception e) { Logger.ErrorDebugLine(e); Write.UserFail("挖矿内核启动失败,请联系开发人员解决"); } } }); }