html5 网页游戏 休眠

0

HTML5网页游戏的"休眠"通常是指当游戏暂停或者用户离开游戏一段时间后,游戏会自动进入一种低功耗状态,以节省资源。在HTML5环境中,由于浏览器的限制,游戏不能像传统的桌面游戏那样完全进入后台休眠,但可以通过一些技巧来实现类似的效果。

1. 设置定时器: 你可以设置一个定时器,比如5分钟或10分钟未有用户交互(如点击、滚动等),游戏暂停并进入休眠状态。当用户再次交互时,游戏重新启动。

```javascript let idleTimeout = null;

function checkIdle() { if (idleTimeout) { clearTimeout(idleTimeout); }

idleTimeout = setTimeout(function() { // 游戏休眠逻辑 game Paused = true; }, 10 * 60 * 1000); // 10分钟后 }

// 每次用户交互时清除定时器 document.addEventListener('click', checkIdle); ```

2. 使用Intersection Observer: 通过监听元素是否在视窗内,当元素完全不在视窗内时,可以认为用户可能已经离开,进入休眠状态。

```javascript let timeOut = null; let observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (!entry.isIntersecting) { clearTimeout(timeOut); // 游戏休眠逻辑 game Paused = true; observer.unobserve(document.body); } else { timeOut = setTimeout(() => { observer.unobserve(document.body); // 游戏恢复 game Paused = false; }, 5 * 1000); // 5秒后恢复 } }); }, {threshold: 0.1}); // 观察元素至少进入视窗10%才触发

observer.observe(document.body); ```

3. 使用localStorage: 存储一个变量来标记游戏状态,当用户离开页面时,将游戏状态设为休眠,返回时检查并恢复。

```javascript window.addEventListener('beforeunload', function(e) { localStorage.setItem('gamePaused', true); });

window.addEventListener('load', function(e) { if (localStorage.getItem('gamePaused')) { // 游戏休眠逻辑 game Paused = true; } }); ``` 以上方法只是提供了一些思路,具体的实现可能需要根据你的游戏引擎和代码结构进行调整。

那么 NoSleep.js 如何防止设备休眠效果呢? NoSleep.js 模拟一个小的 mp4 视频,并连续播放,这种方式能够起作用是因为当视频播放时,浏览器是不会接收到休眠的信号。有兴趣的读者,可以 Github 搜索一下 NoSleep.js 这个库,亲自体验一下示例。

上面的代码很简单,当需要启用不休眠的效果时,只需简单的调用 enable() 方法,而需要禁用该效果时,只需调用 disable() 方法。此外 NoSleep.js 是支持任意的 Android 和 iOS 浏览器,官方提供的在线测试示例:

NoSleep.js 就是为了解决这个问题,它是 Wake Lock API 的 shim,作用是为了防止浏览器和设备进入睡眠状态!

html5 网页游戏 休眠

Web 开发者在移动开发方面仍有很多困难,无法方便地使用移动平台上的具有的各类硬件功能。但我们的用户期待 Web 应用和原生应用能有同样用户的体验嘻哈三国单机游戏大全,然而创建 HTML5 游戏和多媒体应用可能非常困难,因为你必须注意原生平台是否提供对应功能的 API。

这款综合素质相当高的轻薄本可以为我们初步解释一下笔记本续航的相关问题。我们可以由此得知,官方宣传文案的10小时、全天续航,在多数情况下是存在现实依据的,但对用户的实际使用价值不会很大。

虽然i7 8550U 是一款四核心八线程高性能CPU,但是0.8GHz的节能模式还是会有严重的性能瓶颈,尤其是其官方续航据推理应该需要保持极低CPU占用率才能达成,实际使用价值还是相当低的。

但是,要达成官方的这种续航成绩,首先这款电脑的处理器不能有任何超过5%的负载,因为我们9小时的电影播放完全是靠CPU内置的HD620硬解实现,全程CPU的频率都只有0.8GHz,且占用率可以忽略不计。

XPS 13 5370 的电池容量约为52Wh,官方宣传其续航时间为10小时,我们不清楚官方的具体设置条件,相信如果使用节能模式运行单一轻载程序,适度降低亮度时这种结果是有可能达成的。

通过对比我们可以看出,硬解H264 视频是XPS 13 续航水平最长的一种使用模式,其运行时间超过了9个小时;大家以为的上网+PPT 办公并不是很省电,这种模式下XPS 13 的使用时间大约不到6小时。真正的全负荷转码运行时,XPS 13 的运行时间在4小时左右。

三种测试方式下,我们都保证XPS 13 不进入休眠模式,屏幕始终开启,利用软件记录每5分钟的存留电量数据制成对比图标如下。

其三:使用Adobe MediaEncoder 将H264编码的1080P 电影《最终幻想 王者之剑》转换为H265格式,在策略二的基础上运行到电量耗尽为止。

其二:设置电源策略为平衡模式,75%屏幕亮度虚幻播放200页PPTX 模板文件,同时开启10个 ZOL 视鉴节目HTML5 视频网页页面(QQ浏览器),播放到电量耗尽为止。

下面,我们选取目前比较热门的明星产品——戴尔著名的XPS 13 9370 轻薄笔记本来解释这个问题。我们分别以几种具有代表性的方式分析这款笔记本在不同任务和设置条件下的续航时间,作为代表来为大家解释有关笔记本续航的实际问题。

从续航词汇的本源,我们可以推出极为重要结论——没有条件、不定维度的续航考察是没有意义的。 对于笔记本来说,笼统的我们可以分成休眠续航、待机续航、本地阅览续航、轻量级上网续航、影音续航、CPU满载续航、游戏续航等各种考察类别,而敢于明确自己的“续航”结果来自何种具体条件的厂商凤毛麟角,这就是商业社会最吊诡的现实情况。

可以看出,无论在哪种条件下提到续航,通常都会有两个甚至三个考察量来度量。对于履带式车辆来说,如果载油量超过了摩托化小时数,多出来的载荷是无意义的,因为在油料耗尽之前传动系统的磨损将耗尽自己的使用寿命,剩余油料成为死重。

对于地面车辆来说,续航指代的是最大单次公路历程、越野里程,对于履带式车辆来说,还可能指代最大摩托化小时数(平均无故障时间),单位是公里或小时。

社会生活中,只要是涉及到度量持续使用量的层面,续航这个词都可以出现。对于船舶来说,续航实际指代的是经济航速的续航力或没有补给时的自持力,两者的单位是节/海里和天。

续航本身并不是诞生在电子时代的词汇——持续航渡的字面意思完全可以解释她的工业气息。之所以是航行而不是飞行,恐怕也与热机首先应用于船舶,然后应用于车辆,最后才上天成为飞机动力有关。

最近三、四年来,全天使用成为主要轻薄本厂家的普遍文案策略,可同手机拍照秒单反、游戏画面秒CG并成为PC 业界三大“邪术”。

虽然每一次更新换代,笔记本厂商都宣称自己的续航水平都有明显提升,但即使以十年为单位考察,消费者们的普遍印象仍然不足以支撑这种言论。

这种局面的出现,一方面取决于Intel\AMD\NVIDIA等上游核芯芯片的绝对功率常年不变,能耗比的提升基本都被对应地性能增长幅度所吞噬;另一方面受制于电池技术长期停滞、操作系统的电源管理能力没有本质提升的现实。

自锂离子电池代替镍氢电池以来哪个游戏盒子可以玩正当防卫,笔记本电脑的续航水平进入了一个相对稳定的阶段——各个类型产品线在最近十年既没有明显的进步,也没有明显的退步,整体徘徊在1到10小时之间。

我们今的主要话题就是笔记本续航的问题——大家常说的可使用时间,究竟应该用什么标准来取得。本文也代表着ZOL 2018年春季轻薄本续航横评进入启动阶段。

电池是笔记本灵魂——这种PC的典型使用场合即使不全是在移动中,至少也应该有相当的比例要脱离电源才对。对此,笔记本厂商一贯不吝于用各种溢美之词来渲染自家产品的“全天续航”属性。

时至今日,ITX结构的迷你主机就已经比多数游戏本小巧了,如果算上各种异形主板定制外形的小型主机,笔记本自己的体积优势已经没有多少可夸耀的地方。

我们知道手机浏览器在播放视频的时候,手机是不会进入睡眠状态的。因此如果你的WEB应用能实现此效果,那你就可以阻止手机屏幕进入睡眠状态了。NoSleep.js之所以可以阻止手机屏幕进入睡眠状态,就是因为它模拟持续播放一小段MP4视频。

NoSleep.js一个wakelock小工具,它可以防止浏览器和设备进入睡眠状态!它在Android端和IOS端都适用。

在WEB端创建HTML5游戏和大型媒体应用程序是非常困难的,因为您不能忽视平台本身的限制。其中一个值得注意的小功能就是防止用户未激活时设备进入休眠状态。 想象一下,如果你的用户玩一款不需要太多互动的游戏,体验一个VR演示,甚至只是一个博客文章或幻灯片,屏幕突然变黑,这体验该多糟糕。

近来随着前端技术的发展,HTML5应用又看见了春天。很多以前深耕于PC端的WEB开发者,慢慢也开始转战移动端。虽然在PC端他们已身经百战,但是在移动端碰到的问题仍不少,因为WEB网络永远不会提供像本地移动平台一样多的API或控制。经管如此,但我们的用户仍然期望有相同的优秀体验。

专题: 单机游戏三国五   单机游戏三国斩   单机游戏三国记