tanalin.com 上的“整数缩放”是什么,提供哪些工具?

更新时间

整数缩放(целочисленное масштабирование)是指把画面按 2×、3× 等整数倍放大,让每个原始像素对应完整的像素块,从而避免非整数倍拉伸带来的模糊和插值失真。tanalin.com 是开发者 Марат Таналин 的个人网站,整数缩放是其核心主题之一:站内既有解释原理的文章、演示和问答,也提供面向 Windows、浏览器和 SNES 模拟器的现成工具,以及可供二次开发的程序库。

整数缩放解决什么问题

普通缩放把 1280×720 的画面拉到 1920×1080 时,比例是 1.5 倍,一个原始像素无法对应整数个屏幕像素,显卡只能用插值“猜”中间颜色,结果就是文字发虚、像素画糊边。整数缩放只允许 2×、3× 这类倍数,多出来的屏幕区域用黑边填充,画面因此保持锐利。

代价是画面不一定铺满屏幕:在 1080p 显示器上放大 720p 内容,2× 会得到 2560×1440,超出屏幕,只能退回 1× 或接受黑边。这也是站内专门讨论“双模式显示器”和提供测试工具的原因——不同显示器对整数倍率的支持差异很大。

网站提供的工具

工具 平台 作用
IntegerScaler Windows 7+ 对游戏等全屏程序做整数倍缩放,避免画面模糊
SmartUpscale Firefox、Chrome 扩展 在整数倍缩放图片时关闭浏览器的平滑处理,保持像素锐利
bsnes-mt SNES 模拟器 带整数缩放的 Super Nintendo 模拟器
IntegerScaling C++ / Rust / JS / PHP 库 供开发者在自己的程序中实现整数缩放

此外站内还有一批 Windows 小工具,如修正 Win 7 地址栏长度的 ExplorerHiDpiFix、多行编辑 Path 变量的 MultilinePathEnv、面向 LCD 的 WhiteScreen 与面向 OLED 的 BlackScreen 屏保等,它们与缩放主题相关但用途更杂。

配套资料怎么用

如果只是想搞懂原理,可以先读站内的整数缩放文章,配合演示页面观察放大前后的差别,再翻问答部分排查自己显示器的表现。文章之外还有算法说明,适合想自己实现缩放逻辑的开发者;IntegerScaling 库则把这套逻辑封装成了多语言版本,接入时不必从零推导。

需要提醒的是,站内资料以俄语为主,工具和库的具体版本、系统要求应以页面当前说明为准,本文不代为推断未列出的参数。

适合谁

  • 玩老游戏或像素游戏、被全屏模糊困扰的 Windows 用户:优先试 IntegerScaler,并先用站内测试工具确认显示器支持的倍率。
  • 在浏览器里查看像素图、截图对比的普通用户:SmartUpscale 是轻量选择,装完在整数倍场景下自动生效。
  • SNES 玩家:bsnes-mt 把整数缩放直接做进了模拟器。
  • 开发者:先看算法文章,再按技术栈选 IntegerScaling 的对应语言版本。

网站本身还包含作者的音乐作品和网站开发服务介绍,但就“整数缩放”这一主题而言,上述工具与文章构成了一个从原理到落地的完整入口。