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

2020-11-17 21:11:58 +08:00
 tsanie

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


Visual Studio Community 2019 for Mac
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 配置,目标为通用设备

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

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

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

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

懂得人不会理你的

好心提醒你

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

我怀疑是不是“目标通用设备”让你产生疑问了,指的是 iOS 通用设备,两者都是编译为 arm64,都是交叉编译。
everydaystruggle
2020-11-18 11:39:45 +08:00
我现在特怕 Apple 为了大力推 arm,暗地里降低 x86 macOS 的性能。😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/726394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX