Visual Studio for mac、Xamarin.forms,用 M1 跑点不同的东西 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tsanie
V2EX    macOS

Visual Studio for mac、Xamarin.forms,用 M1 跑点不同的东西

  •  
  •   tsanie 2020-11-17 21:11:58 +08:00 6284 次点击
    这是一个创建于 1789 天前的主题,其中的信息可能已经有所发展或是发生改变。

    拿了我司的一个 xamarin.forms 项目,在 Mac mini M1 上以 rosetta2 翻译的方式运行 vs for mac,编译环境版本信息如下:


    Visual Studio Community 2019 for ac
    Version 8.8 (build 2913)

    Mono Framework MDK
    Runtime:
    Mono 6.12.0.93 (2020-02/620cf538206) (64-bit)

    Roslyn (Language Service)
    3.8.0-5.20515.7+713efb0e68d34ab75faaf709e071e5c2d8d4ed0e

    .NET Core 3.1 SDK
    SDK: 3.1.403

    Apple Developer Tools
    Xcode 12.2 (17535)
    Build 12B45b

    Xamarin.iOS
    Version: 14.4.1.3


    使用了SkiaSharp.Views.FormsXam.PluginZXing.Net.Mobile.Forms等三方包。

    系统版本都是 macOS 10.0.1 (20B29),项目设为 release 配置,目标为通用设备

    • 一套 i7 8700 的编译耗时 37.50s
    • Mac mini M1 的编译耗时 54.80s

    不过考虑到 cb r23 中 M1 多核性能只有 8700 的 88%,rosetta2 翻译运行又会损耗 20 ~ 25%左右的性能,这样对照结果看看即可,鉴于微软是苹果最优质的开发者,arm 原生版本工具链应该很快可以出来。

    其实主要是为了测试一下目前 xamarin.forms 的开发有没有什么问题,好像是没有什么问题。

    20 条回复    2020-11-18 11:39:45 +08:00
    aqwcl
        1
    aqwcl  
       2020-11-17 21:15:32 +08:00
    请问 lz 的 8700 是 2018 款 mac mini 吗
    beyondex
        2
    beyondex  
       2020-11-17 21:21:17 +08:00 via Android
    居然这个现在就都能跑。
    tsanie
        3
    tsanie  
    OP
       2020-11-17 21:22:06 +08:00
    @aqwcl 不太一样,我是 pc 组的黑苹果。
    hyzjshwo
        4
    hyzjshwo  
       2020-11-17 21:27:17 +08:00 via iPhone
    终于看到 idea 相关的了… 就是只要是 app 的 idea 都能用 r2 转一次 然后都能正常使用是吗?楼主大人
    hyzjshwo
        5
    hyzjshwo  
       2020-11-17 21:27:45 +08:00 via iPhone
    vsc 能用吗?那些插件都正常吗?
    beyondex
        6
    beyondex  
       2020-11-17 21:27:57 +08:00 via Android
    话说 xamarin 做移动跨平台开发怎么样?
    LoveCnElvis
        7
    LoveCnElvis  
       2020-11-17 21:47:36 +08:00
    没用 big sur 吗
    bookit
        8
    bookit  
       2020-11-17 21:50:29 +08:00
    测一下硬盘速度呗,看看有没有用最新的 ssd
    tsanie
        9
    tsanie  
    OP
       2020-11-17 21:52:30 +08:00
    @hyzjshwo
    vsc 有个 experimental arm64 版可以运行,不过我碰到了一次标签页崩溃关闭,app 没关闭,看来还是要等稳定一下,插件你想看哪个插件,我平时不用 vsc 开发。
    还有那个是 app 的 idea 指的是……是 intellij idea 那个么?

    @beyondex
    xamarin 做跨平台开发主要是被逼的,公司之前的技术栈都是 c#,然后瞅准就是一套 xamarin 不让人挑的♂
    tsanie
        10
    tsanie  
    OP
       2020-11-17 21:55:14 +08:00
    @LoveCnElvis
    是 big sur,11 就是,m1 装 10.x 也装不上的

    @bookit
    https://i.loli.net/2020/11/17/2JefUH3OhF1wNCW.png
    tsanie
        11
    tsanie  
    OP
       2020-11-17 22:40:01 +08:00
    用 x264 编码压了一段油管上的 4K VP9/Opus 视频,预设 medium,crf 22
    8700 avg 17.43fps ( MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 )
    M1 avg 9.3fps ( MMX2 SSE2Fast SSSE3 SSE4.2 )

    这个就比较惨了,性能劣势+rosetta2 损耗+指令集缺少
    hyzjshwo
        12
    hyzjshwo  
       2020-11-17 22:40:20 +08:00 via iPhone
    @tsanie 我说的 app idea 是 dmg 这种包的广义上的 app,比如 jb 全家桶 webstorm 这些。vsc 插件 比如 html 格式化这些 vsc icon 这些,没事我大概知道 m1 目前可能不适合做生产机器,自己用的是 15 年的老 mac 了…平时工具链多 换 m1 估计生产力提不上。十分感谢楼主带来不一样的测评。
    coolmenu
        13
    coolmenu  
       2020-11-17 22:58:37 +08:00
    @hyzjshwo 我也是留着一个 15 年的 mbp,新的这款 m1 携带方便,电池续航长,很理想了。等明年出了更好的 16 寸版本在切换开发机器。其实现在主要是用一个 4800h 的机器开发。
    hyzjshwo
        14
    hyzjshwo  
       2020-11-17 23:14:11 +08:00 via iPhone
    @coolmenu 看你开发对工具种类依赖性多高了,可能你得再 m1 上找替代工具或者干脆就找不到替代…
    axbx
        15
    axbx  
       2020-11-17 23:21:51 +08:00
    17 年的 pro 性能不够了,平时都是用黑苹果,看来可以换 air 了
    coolmenu
        16
    coolmenu  
       2020-11-17 23:24:20 +08:00
    我主要在 wsl2 下开发,有时候也是 jetbrains 做 java 的服务程序。m1 用 vscode 能代替好多工作了。
    livexia
        17
    livexia  
       2020-11-18 07:57:23 +08:00 via iPhone
    8g 内存的么?在纠结是买 8 还是 16 的
    huijiewei
        18
    huijiewei  
       2020-11-18 08:06:20 +08:00 via iPhone
    你连性能测试变量控制都不懂 就发结果

    懂得人不会理你的

    好心提醒你

    不愿意就 block 我算了 别回我
    tsanie
        19
    tsanie  
    OP
       2020-11-18 08:20:36 +08:00 via iPhone
    @huijiewei 这里无法控制变量的不就是微软还没出 arm 版的工具链么,没有的东西如何控制,再者主题结尾就说明了主要目的不是对比而是测试路能不能通,因为目前的条件对 m1 不公。
    8700 也正好是模拟前代 mini 。

    我怀疑是不是“目标通用设备”让你产生疑问了,指的是 iOS 通用设备,两者都是编译为 arm64,都是交叉编译。
    everydaystruggle
        20
    everydaystruggle  
       2020-11-18 11:39:45 +08:00 via iPhone
    我现在特怕 Apple 为了大力推 arm,暗地里降低 x86 macOS 的性能。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1390 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 16:51 PVG 00:51 LAX 09:51 JFK 12:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86