V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cnbatch  ›  全部回复第 72 页 / 共 73 页
回复总数  1446
1 ... 64  65  66  67  68  69  70  71  72  73  
2022-05-11 18:07:27 +08:00
回复了 Evovil 创建的主题 程序员 wsl2+vcsxsrv 终端延迟的问题。
正如楼上所言,换用 WSLg 。

x11 转发最初不是为图形界面而设计的,所以一旦转发图形界面就会有效率问题。
https://superuser.com/questions/1217280/why-is-x11-forwarding-so-inefficient

我个人发现,在 4K 显示器 + x11-forwarding 的时候,只要浏览网页时滚动速度一快起来就会感觉到画面掉帧。分辨率越高,效果越明显。

而浏览器跑刷新率正好会让 x11 转发出极为大量的绘图指令和图像数据,终端操作的图形指令流混在其中。
比喻起来的话,效果大约是原本的小水管浇水,在浏览器跑刷新率时变成了路边消火栓喷水。

如果还是想继续用 x11 转发,那么可以试试关掉 TCP 的 Nagle 算法(以 PuTTY 为例,Connection 节点就有这个选项),也许会好一点。
更详细的设置可以参考美国布鲁克黑文国家实验室的推荐设置
https://drupal.star.bnl.gov/STAR/comp/sofi/facility-access/ssh-stable-con
2022-05-11 01:17:08 +08:00
回复了 nishuoshenme 创建的主题 Windows Windows Defender 内存占用为啥这么高?
忘了补充一个,我所在的公司给 WD 和 Symantec 都设了定时扫描,都在下午,但时间不重叠,Symantec 先、WD 后。
于是就出现这种令人无语的现象:Symantec 扫描时,不会像 WD 那样卡顿,CPU 不会用到满,但却能听到散热风扇的噪音持续好 2~3 个小时。
轮到 WD 扫描时,CPU 占用率极高,几乎用满(就像楼上的那样),散热风扇狂转,电脑卡得基本没法用。持续 1~1.5 小时。
总之都让人不爽。巧合的是,WD 扫描的时候刚好是快到下班的时间,效果约等于提醒员工赶快下班。然而卡成这样,想要快速完成工作有时反倒更难了。
2022-05-10 23:58:21 +08:00
回复了 nishuoshenme 创建的主题 Windows Windows Defender 内存占用为啥这么高?
我工作用的电脑不但有 Windows 自带的 WD ,还有公司安装的 Symantec ,两个杀软一起干活。真是双重安全、双重负担。

据我观察,Symantec 扫描占用的 CPU 使用率比 WD 少一点,但是扫描时间就长了很多。至于内存占用,Symantec 占用率比 WD 高得多,开机各种相关进程的内存就占了约 500M ,扫描时迅速上涨。神奇的是,扫描完成后,它的内存占用就降到 100M 左右。

WD 的内存占用在这台电脑上极少,空闲状态下才 10M 左右。
2022-05-03 14:01:53 +08:00
回复了 lcj2class 创建的主题 C 现代化 C 使用体验
@Bbird 现在的 container_of 去掉了 typeof ,但我想不到风格还是跟原来的差不多,依旧是先来一个变量赋值,下一行再做减法,并且仍然需要大括号。
虽然终于不再依赖 typeof ,但相比之下,我仍然更喜欢 BSD 的那种。同样的效果,却更加简洁、易懂。
按道理,GPL 代码照抄 BSD 是完全可以的。
2022-05-03 13:54:10 +08:00
回复了 lcj2class 创建的主题 C 现代化 C 使用体验
@Bbird 重新下载了新的内核代码树看了下,确实是这样。很久以前看的时候他还是 typeof ,搞得我以为现在还是。原来现在甚至还有专门的 container_of.h ,方便了不少
2022-05-03 04:53:43 +08:00
回复了 lcj2class 创建的主题 C 现代化 C 使用体验
@xiri 其实 container_of 不使用 typeof 也可以实现,FreeBSD 的源码就有:
https://github.com/freebsd/freebsd-src/blob/main/sys/dev/cxgb/cxgb_adapter.h

代码是:
#define container_of(p, stype, field) ((stype *)(((uint8_t *)(p)) - offsetof(stype, field)))



有意思的是,Linux 源码当中也有不用 typeof 来 define 的,而且似乎是唯一一处:
https://github.com/torvalds/linux/blob/master/tools/lib/bpf/bpf_helpers.h

#define container_of(ptr, type, member) \
({ \
void *__mptr = (void *)(ptr); \
((type *)(__mptr - offsetof(type, member))); \
})
#endif

稍微追溯了下提交历史,这是两年前新增的:
https://github.com/torvalds/linux/blob/5fbc220862fc7a53a0455ccd2d96c82141e222d4/tools/lib/bpf/bpf_helpers.h

仔细一看,原来是 BPF ,也是跟 BSD 有关的东西,或许这种写法属于“BSD-style”吧。但是跟 BSD 版本相比,bpf_helpers.h 的写法仍然更加接近于 Linux 的 typeof 版本。
2022-04-21 17:13:05 +08:00
回复了 irisdev 创建的主题 程序员 如何完全卸载 ie
如果要测试各种旧版微软浏览器,建议用虚拟机。

微软自己就提供了各种浏览器对应版本操作系统的虚拟机镜像:
https://developer.microsoft.com/zh-cn/microsoft-edge/tools/vms/

从 IE8 到 IE11 以及旧版 Edge 都有
2022-04-19 15:51:45 +08:00
回复了 monetto 创建的主题 程序员 有入手 GPD Pocket 的吗
如果是指初代的话,不建议买,除非用来当作远程桌面客户端。

初代 GPD Pocket 出来时买过,到现在还能用,两年前返厂换过电池和风扇(电池鼓包、风扇转得感觉要松脱)。

性能奇差,用来写代码会让人很不爽,反应太慢了。键盘键位几乎没法用,间距就不用说了,网上各种测试、评价文章也提到过。个人觉得能够方便使用的键位也就只有方向键、Win 键、菜单键,还有指点杆。

只要开着机,风扇几乎是长期转着的,除非是在大冬天时候用(空气温度 10 度以下那种)那么风扇才会偶然转两下。
夏天时风扇几乎是满载的,风口很热,机身就更不用说了,摸上去发烫。长时间用的话,就算没烧坏 CPU ,也会导致电池鼓包、风扇坏掉。

如果只用这台机器开着 RDP 或 VNC 连接其他电脑,那么它的负载就不会很高。

只不过那么小的屏幕,就算开着高 DPI 都用处不大。低 DPI 需要外接显示器(既然有外接显示器那可以顺便把鼠标键盘都接上),否则等于折磨眼睛;高 DPI 是清晰了,只是桌面能够看的东西很少,用来写代码不够用,DPI 200%的情况下只能装得下 Windows 的 cmd 窗口。

最重要的是,不外接显示器长时间用这台机器的话,对颈椎很不好。
2022-04-14 18:38:31 +08:00
回复了 fgwmlhdkkkw 创建的主题 C++ 自己写了一个 JSON 解析器,遇到一个问题
@fgwmlhdkkkw 忘了补一个 T key 的万能引用

const Value * peek(const Value * src, T key, Args && ... args)

可以适当改成

const Value * peek(const Value * src, T && key, Args && ... args)
{
auto ptr = peek(src, std::forward(key));
if (ptr == nullptr) return nullptr;
return peek(ptr, std::forward<Args>(args)...);
}

至于应不应该改,那就视乎你的具体需要而定
2022-04-14 18:03:19 +08:00
回复了 fgwmlhdkkkw 创建的主题 C++ 自己写了一个 JSON 解析器,遇到一个问题
@whitehack [[nodiscard]]的意思楼上已经说了,那我就稍作补充。

这是 C++17 新属性
en.cppreference.com/w/cpp/language/attributes/nodiscard

很快就连 C 语言也能用上这个属性( C23 )
en.cppreference.com/w/c/language/attributes/nodiscard
2022-04-14 17:31:26 +08:00
回复了 fgwmlhdkkkw 创建的主题 C++ 自己写了一个 JSON 解析器,遇到一个问题
不想复制的话,可以使用万能引用、完美转发

template <typename T, typename ... Args>
[[nodiscard]]
const Value * peek(const Value * src, T key, Args && ... args)
{
// auto 和 if 的部分
// ......
return peek(ptr, std::forward<Args>(args)...);
}
除了楼上的办法,其实还可以试试这些方式:
第一种:既然“Electron 旧版的逻辑和这个一致,却没有报毒的问题”,那就试试用 Electron 专门制作个下载更新工具,需要自动更新时就让软件运行这个小工具来下载更新包。
第二种:采用 Google Chrome 的更新方式,也就是在系统中额外增加一个服务 (Windows Service),让这个服务帮忙覆盖所需文件。
2022-04-11 05:13:58 +08:00
回复了 monster33 创建的主题 程序员 绷不住了,折腾了一晚上的 xrdp,竟然没有折腾成功
对于 ArchLinux 的 WiKi ,建议对照阅读英文版。中文版似乎有一段时间没人更新了,英文版多了一个部分:Black screen with a desktop environment

它里面针对 KDE 用户有这么一段话:For KDE Plasma, you can use the command /usr/lib/plasma-dbus-run-session-if-needed startplasma-x11
既然驱动都被搞烂要重装了,要不索性试试更高级的 Windows 版本——Windows Server 2022 或 2019 。毕竟 10G 网卡在服务器上更为常见。
无论是 10G 的机器,还是千兆的机器,包括路由器,能开的都开,一般不会有什么问题,目前绝大多数网卡都支持巨型帧,就算没开启支持,它也能收得进去。
WiFi 明确不支持巨型帧,但也不怕,无线路由器会帮忙拆分、整合的。
2022-04-05 17:07:09 +08:00
回复了 monster33 创建的主题 程序员 有多少人平时主力电脑用的 Linux ?
@zjp 第一和第三个,不是不能,而是麻烦。换字体最麻烦,没有官方工具可以调(这倒是可以当作“不能”)。自定义快捷键其实可以用微软自家 PowerToys 自行指定,虽然也得自己安装。

至于子像素排列,还真是能自选,系统自带的“ClearType 文本调谐器”就是干这样的事情的。只不过这个调整工具是向导式的,不那么直观。这个工具的位置是:控制面板\外观和个性化\字体,点击左侧“调整 ClearType 文本”

telegra.ph/Windows-10-ClearType-Adjust-04-05
在这里截了整个过程的图片
@fastcache Windows 的这边是 AQC ,另一端是板载 Intel + XigmaNAS 12 ,中间隔了个 QNAP 交换机
这里一路下来分别有 3 家硬件厂,都能达到 10G ,所以我觉得 OP 遇到的问题应该是驱动有 bug 了
忘了说,我在网卡属性里面改了这些设置:
开启 Jumbo Packet ,设置成最大( 9014 )
Receive Buffers 设置到最大( 4096 )
Transmit Buffers 设置成最大( 8184 )
@fastcache 我买的网卡(散热板印有 MSI logo 的那款)据称里面用的也是 AQC-107 芯片,但用起来就能跑满。想不到同芯片不同品牌的差别会这么巨大。
1 ... 64  65  66  67  68  69  70  71  72  73  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   942 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.