yen@harvey:~$ cat ~/glossary.md

Glossary

文章里那些缩写和黑话,集中解释一下。

Aliasing · 混叠 / 锯齿
采样不足导致高频信息失真的现象,画面上就是斜边、曲线的锯齿。颜色边界频率无穷高,理论上永远采样不够,只能想办法让锯齿不那么显眼。
Debug / Release · 编译模式
Debug 不做优化、便于调试;Release 开满优化。Rust / C++ 等两者性能能差一个数量级,所以压测一定要用 Release 构建。
EAGAIN
非阻塞 I/O 的返回码:现在没数据可读(或缓冲区写满了),不是错误,稍后再试即可。边缘触发里就是靠它判断“读干净了”。
epoll · event poll
Linux 上高效监听大量 fd 就绪状态的系统调用。比 select / poll 快,因为注册一次后由回调把就绪的 fd 推进“就绪链表”,而不是每次遍历所有连接。单线程高并发的基础设施。
ET · edge-triggered / 边缘触发
epoll 的另一种触发方式:只在状态跳变(新数据到达)那一刻报一次。必须循环 read 到 EAGAIN、且用非阻塞 fd,否则剩下的数据再也不会被通知。
fd · file descriptor / 文件描述符
进程打开的文件、socket、管道等的整数句柄。内核用它来标识一个 I/O 对象,read / write / epoll 都拿它说事。
FXAA · fast approximate AA / 快速近似抗锯齿
后处理抗锯齿:对渲染好的成品图找边缘再模糊。极省性能,但容易把细节一起糊掉。
Ghosting · 拖影 / 残影
TAA 在快速移动时复用了过时的历史像素,物体身后留下一道残影。靠“历史拒绝”或光流估计来修。
io_uring
较新的 Linux 异步 I/O 框架(5.1+),基于“完成模型”,用一对共享环形队列提交/收割请求,比 epoll 更省系统调用。现代异步运行时(如 tokio)已逐步支持。
kqueue · kernel event queue
BSD / macOS 上的 I/O 多路复用机制,角色等同 Linux 的 epoll。这些系统上事件循环的底座。
L4 · OSI 第四层 / 传输层
传输层,TCP / UDP 工作在这。四层代理只看得到源/目标 IP 和端口,看不懂 HTTP 内容,所以没法按域名或 URL 路由。
L7 · OSI 第七层 / 应用层
应用层,HTTP / DNS 等协议所在。七层代理能读懂 HTTP(路径、Host、Header、Cookie),据此做路由和规则判断。
LT · level-triggered / 水平触发
epoll 默认的触发方式:只要缓冲区还有没读完的数据,就一直提醒你。啰嗦但安全,漏读了会再报。
MSAA · multi-sample AA / 多重采样抗锯齿
只在几何边缘做多采样、内部单采样,是 SSAA 的省力折中。但管不了贴图内部的锯齿。
N+1 · N+1 查询
常见的查询坑:查一次主列表,再在循环里对每条记录各查一次,总查询数随数据量线性膨胀。改法是把循环内的查询提到循环外、整批预取。
OSI 模型 · Open Systems Interconnection / 开放系统互联
网络的七层参考模型(物理→数据链路→网络→传输→会话→表示→应用)。搞清一个组件工作在哪一层,是排查网络问题的前提。
p99 · 第 99 百分位延迟
99% 的请求都比这个值快,剩下 1% 更慢的“尾延迟”。比平均值更能暴露真实瓶颈;同理还有 p50 / p95。
RPS · requests per second / 吞吐量
每秒处理的请求数,压测的核心指标。极简接口能上几万,业务聚合接口常在几百到一千,两者不能放一起比。
SMAA · subpixel morphological AA / 子像素形态学抗锯齿
FXAA 的升级:不只找边缘,还识别 L / Z 形等形状再精确混合。比 FXAA 锐利,仍比 MSAA / SSAA 便宜。
socket · 套接字
网络通信的端点抽象。在 Linux 上它本身也是一个 fd,所以能塞进 epoll 一起管。
SSAA · super-sampling AA / 超采样抗锯齿
最暴力的抗锯齿:按数倍分辨率渲染再缩小,等效每像素多次采样。效果最好但开销最大(帧数腰斩)。
syscall · system call / 系统调用
用户程序请内核办事的入口(如 read、epoll_wait)。每次调用都有跨用户态 / 内核态的开销,所以高并发下要尽量少调、调得值。
TAA · temporal AA / 时间抗锯齿
跨帧抗锯齿:每帧给摄像机加微小抖动,累积多帧样本来消锯齿。性能好、静止画面最干净,但动起来易拖影(ghosting),需要历史拒绝来缓解。
卷积 · convolution / 卷积核
图像处理的基本操作:用一个小权重矩阵(核)逐像素扫过图像、做加权求和。模糊、锐化、超采样的平均,本质都是卷积。
完成模型 · completion model
I/O 通知方式:内核把数据读完、放进你给的 buffer 后才通知你。io_uring、Windows IOCP 走这套,比就绪模型少一次系统调用。
就绪模型 · readiness model
I/O 通知方式:内核只告诉你“这个 fd 现在可读 / 可写了”,数据还在缓冲区,得你自己去 read。epoll 走的就是这套。
采样定理 · Nyquist–Shannon 采样定理
要无失真还原信号,采样率得至少是信号最高频率的 2 倍。因为图像边界频率无穷高,所以从原理上就不可能彻底消除锯齿。