抛弃 WSL2 使用 scoop 搭建开发环境

49 天前
 UncleCAT4

之前一直是用 WSL2 来作为开发环境的,博客、数据分析和编程等都在 WSL2 里进行,虽然 WSL2 已经很方便,但是我仍然心里有疙瘩,因为两个原因:Hyper-V 的性能损失和无法自动释放内存/硬盘。

实际上后面两个问题在 2.0.0 的 WSL 中(似乎)已经解决了,在去年的更新中,详情可见 微软开发者 blog,我仔细看了一下,似乎大部分的实质性更新都只在 Windows11 中适用,但是根据描述,部分实验性更新在 Windows10 中是可以用的,毕竟 Windows11 还是太抽象(个人感觉),我最关注的两个功能即内存回收与虚拟硬盘空间释放,似乎在 Windows10 中可用,但我测试了一下,使用 Windows10 LTSC 2021 最新可更新的 WSL ,两项功能在 .wslconfig 中可以正常启用,但没有效果。另一大问题就是性能损失问题了,据我个人测试,开启虚拟化之后 Windows 宿主机造成了大约 12%的性能损失。

下图是开虚拟化平台之前的跑分:

下图是开虚拟化平台之后的跑分:

为了保证跑分结果准确,我特意在两种情况下多跑了几次,分值都差不多。主要的损失来自于 CPU ,而 CPU12%的性能损失还是挺严重的。

这实际上不是 WSL 的锅,而是因为 Hyper-V ,开启虚拟化之后 Windows 宿主机也会变成一个 Hyper-V 的虚拟机,而这个变化通常情况下是无感的,但是 ... 我要打游戏 ...

于是只能去掉 WSL2 ,使用 scoop 来进行环境搭建。实际上 scoop 超乎了我的预期,它不仅可以装开发软件,甚至微信 QQ 这种日常生活软件也可以安装,而且第三方开发者提供的各种 buckets 包含了极多的软件!

如果以上我的说法什么的哪里有问题,还望 V 站前辈不吝赐教

5009 次点击
所在节点    程序员
44 条回复
dolorain
49 天前
win 上做开发不用 wsl ? 简直折磨自己
idealhs
49 天前
这俩玩意能放在一起谈我就觉得很奇怪
其次 HyperV 也没 12%的性能损耗
其次玩游戏电脑真的有必要装开发环境?
zhao8681286
49 天前
win11 哪里抽象了?一个 startallback + win10 的右键菜单 你不说我根本忘记我在用 win11 了。
ncepuzs
49 天前
使用 Scoop 几年后,作出的选择与你相反
m1nm13
49 天前
感谢..赶紧过去吧 hyperv 关了,单核跑分高了 5%
QXDM
49 天前
UncleCAT4
49 天前
@dolorain 目前状态还算良好
@zhao8681286 我有系统洁癖。。。win10 都是 ltsc 的,能不要的东西都不要
@ncepuzs 每个人有每个人的习惯和偏好
@idealhs 学生党。。。要打游戏,有时候还要做点东西
UncleCAT4
49 天前
@lengyuqu scoop 还可以装一些日常使用的软件
BuffDog
49 天前
开发机一台,游戏娱乐一台
现在那种迷你机子也不贵
hysjw
49 天前
Linux 一样可以玩游戏 看你玩的游戏了
interim
49 天前
"开启虚拟化之后 Windows 宿主机也会变成一个 Hyper-V 的虚拟机",老谣言了,官方文档说明的很清楚,开启后 windwos 不是运行在虚拟机层
LongMaoz
49 天前
pota
49 天前
op 测试的情况下管理 wsl 的运行了吗?
pota
49 天前
@pota #33 关闭,这垃圾输入法
OliverDD
49 天前
看你要看你要开发什么了,java 、python 这种有“虚拟机”/解释型语言完全无所谓; go 、rust 这种比较新的把不同系统细节封装比较好的也可以永 scoop ;如果 c/c++那建议还是 wsl2 ,除非目标平台就是原生 win
zwyyy456
49 天前
scoop 与 wsl 似乎并不构成竞争关系。
mxT52CRuqR6o5
49 天前
开启虚拟化之后 Windows 宿主机会不会变成 Hyper-V 的虚拟机我没细研究过,但我记得微软是说过开启虚拟化后会影响一些宿主机的某些的行为的
UncleCAT4
49 天前
@pota 关了
@OliverDD R&Py ,scoop 刚刚好,C 的话目前 gcc 也够用
@hysjw wegame 的,Linux 没有。。
n1cogrv
49 天前
鄙人不才,还恰好全都在用。Scoop ,WSL2 (Debian),Manjaro 。其实哪有这么复杂,也就三个场景。

Windows 用来写与操作系统非强相关,并且较为轻量化的项目,像撸个 py 脚本这些,或者影音娱乐。scoop 管理三几个 jdk 装点开源软件问题不大,那些不遵守开发规范的国内奇葩软件就算了,老老实实用安装器安装。

WSL2 就用来干中等或者重活,我个人感觉 WSL2 很适合前端那一套,nvm 啥的基本就纯 unix/linux 体验,port forward 出来还能有个 win chrome 调试,美学设计啥的随手都有 win 生态的工具。

Manjaro 就纯干重活,一些需要 cuda 的,编译的,或者一定要求 linux 作为宿主的活。

OP 这配置打游戏足够了,想干活体验更好就内存另加个 kit 。TLDR ,再加个 NVMe 固态装 linux 解君愁。
xianyukang
49 天前
支持,你应该相信自己的测试和判断。
我个人还是选择用 WSL ,因为 WSL 的 Linux 环境特别方便,另外就算有 10% 的 CPU 差距也影响不了多少帧数。

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

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

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

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

© 2021 V2EX