Prechádzať zdrojové kódy

Merge pull request #125 from FrzMtrsprt/ArchV3

Make Clash core use newer microarch level
2dust 3 rokov pred
rodič
commit
ff0d1911fc
1 zmenil súbory, kde vykonal 6 pridanie a 2 odobranie
  1. 6 2
      clashN/clashN/Handler/LazyConfig.cs

+ 6 - 2
clashN/clashN/Handler/LazyConfig.cs

@@ -61,6 +61,10 @@ namespace clashN.Handler
         {
             coreInfos = new List<CoreInfo>();
 
+            // Detects microarch level v3
+            // See https://github.com/golang/go/wiki/MinimumRequirements#amd64
+            bool bArchV3 = Avx2.X64.IsSupported;
+
             coreInfos.Add(new CoreInfo
             {
                 coreType = ECoreType.clashN,
@@ -78,7 +82,7 @@ namespace clashN.Handler
                 coreUrl = Global.clashCoreUrl,
                 coreLatestUrl = Global.clashCoreUrl + "/latest",
                 coreDownloadUrl32 = Global.clashCoreUrl + "/download/{0}/clash-windows-386-{0}.zip",
-                coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64-{0}.zip",
+                coreDownloadUrl64 = Global.clashCoreUrl + "/download/{0}/clash-windows-amd64" + (bArchV3 ? "-v3" : "") + "-{0}.zip",
                 match = "Clash"
             });
 
@@ -90,7 +94,7 @@ namespace clashN.Handler
                 coreUrl = Global.clashMetaCoreUrl,
                 coreLatestUrl = Global.clashMetaCoreUrl + "/latest",
                 coreDownloadUrl32 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-386-{0}.zip",
-                coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64" + (Avx2.X64.IsSupported ? "" : "-compatible") + -{0}.zip",
+                coreDownloadUrl64 = Global.clashMetaCoreUrl + "/download/{0}/Clash.Meta-windows-amd64" + (bArchV3 ? "" : "-compatible") + "-{0}.zip",
                 match = "Clash Meta"
             });