独立的JavaScript应用程序,html5帆布游戏......理想情况下使用V8,或根据浏览器调整游戏

时间:2012-02-22 23:51:38

标签: javascript html5 v8

除了嗅探浏览器并告诉任何人不使用Chrome之前的运气(75%以上的互联网?),我正在寻找不同的选项来制作帆布游戏中的可执行文件,如果可能的话。

我的想法是通过将v8包含在没有安装chrome的用户中来控制游戏的性能.....有没有办法与它进行交互?像Flash的插件之类的网络“包装”,所以你可以安装一个v8“插件”跨浏览器???

帆布游戏与safari和firefox一起使用,但是在谷歌浏览器中有50-60%的性能。

另一个差异在于Firefox,如果我将游戏地图设置为超过100x100的瓷砖,它会在生成地图时产生阻塞并提供“停止脚本”弹出窗口,如果你点击“继续”它会抛出另一个弹出窗口“内存不足,关闭你的东西以防止数据丢失“。

在Chrome或safari中使用相同的代码,我使用500x500瓷砖测试地图(是的,这是250,000个瓷砖,其中firefox在10000个瓷砖上窒息......),它在Chrome和Safari中平稳/一致地运行,尽管safari是60%的帧率chrome管理。

我还没有发现铬可以处理的限制,并且使用剔除仅在视图周围绘制瓷砖,它与250,000个瓷砖具有相同的帧速率,因为它具有100个瓷砖(250k以上的铬超过200fps) !!!!!小视图),唯一改变性能的是canvas元素/视图的大小。同时Firefox甚至无法计算区域,更不用说在适当区域内绘制所有区块。 (它可以使用地图10k或更少的地图超过100fps)

允许任何拥有支持html5的浏览器的人都可以玩游戏,但与此同时,如果性能与最强大的版本一样好,那么用户对游戏的看法会更好。 >“可以”玩你的游戏。

我正在阅读V8,以及如何将其合并到您自己的c ++应用程序中,或者单独运行它?有没有人开发了一个包装器来为html5帆布游戏制作一个自包含的可执行文件?或者是一个网页包装器,可以将接口嵌入到V8或其他东西中?

我本周刚刚安装了chrome,在尝试过去尽可能多的浏览器之后,它改变了我的想法,现在只要你有超过200fps然后播放它就不那么好了相同的游戏,低于100fps ..............而且我认为要求使用铬是非常愚蠢的(看到很多html5开发人员请求人们使用铬)我来了实现我是无知的,现在我认为实现我的全部潜力的唯一方法是放弃所有浏览器的覆盖范围,除了可以输出设定级别的性能的浏览器。


否则,我唯一能想到的就是为我开发的firefox开发一个不同版本的游戏,使用较小的可视窗口,较小的地图等,然后在其他浏览器上,检查性能并根据视图缩放视图/地图大小他们正在使用什么浏览器。

我想到的另一个临时想法,如果用户有谷歌浏览器,游戏窗口将在屏幕上700x500px,如果他们有safari,将其降低到500x375px以达到相同的帧速率,如果他们有firefox窗口将像400x300px。

同时,如果用户正在使用Firefox玩游戏,在400x300px窗口中,我会在700x500px的窗口周围显示一个明显的(闪烁的?lol)边框,显示游戏窗口会有多大< / strong>如果他们使用铬?这听起来像动机吗?然后他们可以尝试一下游戏,如果他们喜欢它们,他们可能会发现安装chrome来观看全尺寸游戏是值得的????

1 个答案:

答案 0 :(得分:1)

对于IE&lt; 9,您可以使用Google Chrome Frame执行操作。这类似于Flash风格的插件,您可以提示用户安装。据我所知,它不适用于Firefox或Safari。

虽然我知道有几个frameworks for desktop apps using HTML and Javascript,但他们通常似乎都使用WebKit,所以我希望性能最好与Safari相媲美(来自Appcelerator的Titanium Desktop是另一种选择,还有WebKit基)。