iCloud for Windows 照片同步居然是单线程的

2023-09-21 22:42:49 +08:00
 mmddisa

众所周知,iCloud for Windows 及其难用,我的 iCloud 书签无法在 edge 与 ios safari 间同步,完全不起作用,iCloud 文件同步只要稍微同步的东西变多/windows 上修改的文件一多后同步就会一直卡住,唯一能用的就是 iCloud Photo ,本来一直用着都没问题,但由于每次打开照片都要等待从 iCloud 下载,于是将 iCloud Photo 文件夹设置 Always keep on this device.

然而十来个 G 的相册文件同步了一个多小时才同步了不到一个 G ,检查了才发现这玩意儿居然在单线程同步,占用大量 CPU 资源不说,每张照片下载完成后都要等相当久的时间才会开始下载下一张照片,简直离谱,真不知道负责 iCloud for Windows 这帮贵物代码写的都是些什么玩意

2396 次点击
所在节点    iCloud
15 条回复
bao3
2023-09-21 22:48:44 +08:00
大概疫情期间,我用 icloud for windows ,同步的速度大概是 4M ~ 5M/s ,可能是每个人网络不同。
mmddisa
2023-09-21 23:14:17 +08:00
@bao3 iCloud 同步文件速度没问题,iCloud 文件问题是很容易就同步卡死,必须重新登陆或重新打开 iCloud file 才能恢复,但 iCloud Photo 同步是单线程,真的慢
Daitabashi
2023-09-22 00:35:18 +08:00
给非苹果用户喂屎, 这十余年来不是一直这么做的吗, 就是这两年 Apple Music 开始才有所好转
PaperWing
2023-09-22 00:38:33 +08:00
刚才改了个文件就卡住了,shit ,早上再看
edinina
2023-09-22 03:20:54 +08:00
微软是 mac 平台最佳软件开发者之一,而苹果在 win 上的所有软件都跟那啥一样
tianshilei1992
2023-09-22 05:03:29 +08:00
Apple 说,我只认 GCD 但是 Windows 没有呀…
最有意思的是,Apple 内部有很大的一派认为 multi-thread computation 应该用 GCD…
allAboutDbmss
2023-09-22 05:32:33 +08:00
好奇是怎么发现是单线程的?
billgong
2023-09-22 06:45:08 +08:00
@allAboutDbmss prefmon /res
agagega
2023-09-22 07:30:54 +08:00
@tianshilei1992
我只知道 gcd/libdispatch 封装了线程,但我不太清楚它具体比 pthread 这样的线程 API 多做了什么
criag
2023-09-22 09:22:17 +08:00
看过一个 reddit 的帖子,不要下载最新版的 iCloud for windows ,去找个 win7 版本的安装,我试了一下同步很顺畅,目前还没出现过挂起卡住的情况。
shanwu
2023-09-22 09:44:44 +08:00
别用 iCloud for Windows ,我有次 iCloud 里数不清的文件全被这垃圾同步给搞乱了。后来宁愿直接用网页版。
shanwu
2023-09-22 09:45:33 +08:00
虽然网页版速度也很慢。
a33291
2023-09-22 09:46:50 +08:00
这软件的确垃圾,昨天才卸载了.手机上删除的他同步不了
tianshilei1992
2023-09-22 10:13:45 +08:00
@agagega 我昨天刚和 Apple 的工程师讨论过这个问题,他说 GCD 在 IO/async tasks 方面比 pthread 要更加高效,因为它有 hooks into kernel ,所以在 schedule 这块儿比 pthread 更有优势。但是对于 data parallel computation ,我们得再研究一下。https://newosxbook.com/articles/GCD.html 这个文章好像不错。
除此之外,按照我的理解,pthread 在 macOS 上没有 GCD 的控制多,比如说现在 M series 处理器有 E 和 P 核,pthread 没有办法能够控制哪个 thread 跑在哪个核上面去。这样有一个很大的问题是,像是做 computation (我是开发 libomp 的),如果把 workload 按照 N 个核心平分的话,结果不会 scale 的,因为跑在 E 上面的会影响性能。
agagega
2023-09-22 21:15:41 +08:00
@tianshilei1992
那感觉 macOS 在大小核调度上做得好和 GCD 的广泛应用关系很大啊,毕竟其他调度逻辑 Windows 也一样可以有。

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

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

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

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

© 2021 V2EX