MWI-Hit-Tracker-Canvas

A Tampermonkey script to track MWI hits on Canvas

< 腳本MWI-Hit-Tracker-Canvas的回應

評論:正評 - 腳本一切正常

§
發表於:2025-05-09

特效很好,不过貌似网页在后台一段时间后切回来会有比较严重的卡顿,是否考虑在后台时停止绘制或切换回前台时清理过时的绘制指令?

BKN46作者
§
發表於:2025-05-09

这个是由于游戏本身的ws数据会在后台堆积导致的
没有什么特别好的解法、目前把整体投射物数量已经限制在了30个
如果有比较明确的性能问题的话,可以再看一下

§
發表於:2025-05-09

这个是由于游戏本身的ws数据会在后台堆积导致的
没有什么特别好的解法、目前把整体投射物数量已经限制在了30个
如果有比较明确的性能问题的话,可以再看一下

如果能预留一些可配置参数,比如自定义投射物最大数量就好了

BKN46作者
§
發表於:2025-05-09

这个是由于游戏本身的ws数据会在后台堆积导致的
没有什么特别好的解法、目前把整体投射物数量已经限制在了30个
如果有比较明确的性能问题的话,可以再看一下

如果能预留一些可配置参数,比如自定义投射物最大数量就好了

嗯是的,这个之后肯定会做的
目前还是先在完善整体特效框架

§
發表於:2025-05-12

大佬,我之前在你的最开始的版本上修改了下,感觉只要判断网页在后台时停止js渲染就能避免卡顿的情况,ws数据正常处理应该没事吧
类似这样不知道是否可行
let isPageHidden = false;

// 监听页面可见性变化
document.addEventListener('visibilitychange', function() {
isPageHidden = document.hidden;
if (isPageHidden) {
// 页面切到后台时,清空所有弹道和爆炸,防止积压
projectiles = [];
activeExplosions = [];
}
});

function createProjectile(startElement, endElement, color, initialSpeed = 1, damage = 200) {
if (isPageHidden) return; // 页面隐藏时不生成新弹道
}

BKN46作者
§
發表於:2025-05-12

大佬,我之前在你的最开始的版本上修改了下,感觉只要判断网页在后台时停止js渲染就能避免卡顿的情况,ws数据正常处理应该没事吧
类似这样不知道是否可行
let isPageHidden = false;

// 监听页面可见性变化
document.addEventListener('visibilitychange', function() {
isPageHidden = document.hidden;
if (isPageHidden) {
// 页面切到后台时,清空所有弹道和爆炸,防止积压
projectiles = [];
activeExplosions = [];
}
});

function createProjectile(startElement, endElement, color, initialSpeed = 1, damage = 200) {
if (isPageHidden) return; // 页面隐藏时不生成新弹道
}

感谢感谢,我对应稍微修改了一下,已经更新上了

發表回覆

登入以回復

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址