@无名啊,扩展名写容器类型就行了。
老友记S01E01.opus是一个封装在ogg容器里的opus音频流,所以扩展名写老友记S01E01.ogg就行了。就像视频无论是什么编码,封装在mp4容器里的扩展名都是.mp4。
@水墨神州,dxvk 2.6/2.6.1/2.6.2 已添加。默认版本没有变化(因为很多用户的设备不支持vulkan 1.3),新版本需要自行选择开启。
好,马上更新
@幻阳化翼,我觉得不错。软件安装和卸载的体验比Linux桌面好多了,也不会出现好不容易装上软件但打不开的问题。
支持自由多窗的WPS用起来和Windows版没什么区别。
侧载工具也能用,只要有人发hap包我就能装上。之前手机安装的Clash侧载包我就装上了。
我现在正在用开发鸿蒙应用的方式给鸿蒙终端添加命令。之前的鸿蒙手机版不让执行ELF可执行文件,PC怎么样我还没看,估计差不多。所以我准备开发一个鸿蒙应用,和终端里的shell脚本通过
/dev/shm/内的共享内存文件进行通信,来实现命令执行。技术验证已经跑通了,就差功能实现了。
@tasy5kg,买了,国补后6400
@austinsuun,你在conda环境中吗?试试先运行
conda deactivate然后再运行
/opt/apps/net.winegame.client/files/bin/winegame
@ric,方法是设置函数库顶替:
- 选中游戏,点启动旁边的按钮,选“Wine设置”。
- 切换到“函数库”标签页,在输入框里输入
dinput8(注意不能加.dll),然后点“添加”。
- 出现“dinput8 (原装先于内建)”,点“确定”即可。
然后把 dinput8.dll 放在 exe 所在文件夹,就能加载了。
还有,cjkfonts不能解决所有乱码问题,有时候必须从Windows把sim*.ttc/sim*.ttf字体文件复制过来用才行。
上述字体打包:https://file.winegame.net/cache/wine/fonts/MicrosoftYaHeiMono-20221214.tar.xz
放到
$WINEPREFIX/drive_c/windows/Fonts里。
@无名啊,安全模式的后台进程不比正常模式少,微软的很多服务依然会启动。想减少后台进程影响只能去PE了。
Windows安装光盘的PE应该是最纯净的,按Shift+F10可以打开cmd窗口。
第三方PE也会启动一些后台服务。
我推荐用MSVC编译,“多线程”那个参数选/MT(多线程,静态链接),这样运行前就不需要安装VC++运行库了。
wine 4.0 太老了,建议前往 https://winegame.net/api/runners 获取新版wine来运行。
确保吃满所有 8 核 16 线程
那9%应该就是被Windows GUI和后台任务拿走了。Windows的后台任务远多于Linux,甚至任务管理器本身就是一个CPU时间消耗大户。
所以测全核性能的话Windows肯定是赶不上Linux的,更赶不上没有运行桌面只运行命令行界面的Linux。
Ubuntu桌面在用户不操作的情况下几乎不会增加多少CPU占用,而Windows桌面的后台进程一个个都非常活跃,占用的CPU时间是Ubuntu远远不能比的。
@无名啊,你两边的测试程序是同一个二进制吗?不会是一边-O2优化一边-O3优化产生的性能差异吧。应该在一边编译然后拿到另一边运行,确保跑的是同一个程序。甚至还可以WSL2直接挂载Linux分区,chroot到物理分区的Linux系统里,确保不是库版本不同产生了性能差异。
会不会是内存寻址多了几层,导致慢了。。
@无名啊,应该不会产生9%的差异才对。虚拟化是硬件执行的,实际上只是切换命名空间而已,只在切换的一瞬间有额外时间开销,切完了就和正常寻址一样了。
@无名啊,我大胆预测一下,Windows没有把最快的核心分配给计算任务,或者最快核心在Windows里频率比Linux里低,导致了性能差异。
@无名啊,哦对了,说起来,CPU密集型应用也不会受到虚拟化安全的性能影响啊。虚拟化安全影响的主要是系统调用速度和IO速度。。。
纯计算类应用在计算的时候根本不会经过任何安全检查代码。安全检查都是设置在系统调用和IO控制操作附近的。
@无名啊,> WSL1 / WSL2 运行,速度慢了 9%
这说明你的应用是一个存粹的CPU密集型应用啊,完全没有IO瓶颈,所以WSL1和WSL2的性能才接近。只要有一点IO压力,WSL1的性能就会远低于WSL2了,因为Windows/Linux翻译层的IO性能远低于虚拟机中的原生Linux内核,并且还有偶发的死锁问题。
@无名啊,你在BIOS里把虚拟化功能关闭,WSL1还是能用的,VBS也会变成未启用,你再去测一下就能知道hyper-v带来的影响是多大了。WSL1的问题在于微软写的Windows/Linux系统调用翻译层本来就性能不好,怪不了hyper-v。
WSL2是hyper-v中的虚拟机。“虚拟机平台”和“虚拟机监控平台”都是启用hyper-v。
启用hyper-v后,Windows本身也会变成一个运行在hyper-v中的虚拟机,只不过是特权虚拟机,可以直接访问硬件,还能管理其他虚拟机。
所以只要启用了WSL2,Windows本身的性能也会略微下降,因为从裸机运行变成虚拟机内运行加硬件直通了。
但是这就是使用WSL2的代价,这是无法避免的。而且性能下降程度应该不到1%
至于速度慢了 9%,那是因为Windows在和Linux交替运行,在抢走Linux的CPU时间嘛。hyper-v把9%的CPU时间分配给了Windows。
如果要使用Windows NTFS文件系统内的虚拟磁盘,那把CPU时间分配给Windows是不可避免的。除非hyper-v Linux里做硬盘直通,然后完全不和Windows交互,并且Windows直接注销,不登录到桌面,后台服务也尽可能停止运行,才能尽可能不抢走CPU时间,性能才可能和裸机运行Linux接近。
但少了和Windows的互通,就不是WSL2了。
所以WSL2必然是要比裸机运行Linux慢的。
@无名啊,同时运行两个系统肯定会比只运行一个系统慢啊,这不是理所当然的吗?除非你能完全关闭主控Windows,只在hyper-v里运行WSL2,才能达到和裸机运行Linux接近的性能(还是会有微量性能损失,因为hyper-v虚拟机监控程序也要分走一部分CPU)。
@无名啊,内核隔离是“基于虚拟化的安全”中唯一会影响性能的部分,关闭它就行了。其他功能主要是和固件签名验证、安全启动等有关,不会影响性能。
被个别媒体引述为“性能降低达37.7%”的也只是内核隔离功能,该功能会在新装的Windows里默认启用,带来了性能影响,媒体也只是将该功能关闭就恢复了性能。
