【问题标题】:FPS Drop in Cocos2djsCocos2djs 中的 FPS 下降
【发布时间】:2019-10-01 12:58:52
【问题描述】:

我的目标是创建这种游戏模式,其中一个主大厅场景和其他 GameScene 通过 window.open 打开。

但是,即使我尝试使用空的 hello world 项目打开多个窗口,由于 FPS 的高下降,我也会受到限制。

所以基本上我需要知道这种设置是否可以在 cocos creator 中实现,甚至可以同时渲染四个窗口而不会影响 FPS。 如果有任何指导方针可以帮助实现这一目标,我们将不胜感激。

我认为参考图片中的游戏是通过 angular 制作的,也许这就是为什么即使在十个窗口之后它仍然如此流畅的原因。

我的团队在 cocos2djs 上发布了问题但没有帮助:- https://discuss.cocos2d-x.org/t/help-regarding-multi-window-game-in-cocos-creator/42688

【问题讨论】:

  • 为什么需要这么多窗口的游戏?我相信在任何应用程序中,当您打开许多窗口时,CPU 都会更加努力地工作。但是,如果您必须在应用中使用多窗口打开功能,我可以尝试使用多选项卡。
  • 我正在开发一种纸牌游戏,玩家可以同时在多张桌子上玩,如果我给出多个选项卡,他们就不能玩,并在运行时看到桌面动作。有什么帮助我可以实现它吗?
  • 最低 fps 是多少,最低保持多长时间?还有你有多少掉线电话?
  • 绘图调用为 243,如果打开 4 个窗口,则 FPS 将达到 15。
  • 如果只打开一个窗口,那么 FPS 和绘图调用是多少?

标签: javascript cocos2d-js


【解决方案1】:

经过一番挖掘并根据您在评论中的回答,我认为您可以尝试一种不同的方法“分屏游戏”。我相信当一个新窗口打开时,它会使用相同的资产并且会降低 FPS。

我不知道“分屏游戏”的最佳做法是什么,但我对如何实现它有一个建议:

  1. 创建主屏幕的预制模板。
  2. 为每个屏幕创建不同的层(节点)
  3. 将预制件添加到图层中,例如:

    layer with 1 screen - 1 prefab
    
    layer with 2 screen - 2 prefabs (duplicate prefab)
    
    etc.
    
  4. 如果您在屏幕(层)之间移动,请不要忘记将最后一个节点设置为 false 并销毁他的所有子节点。

另外,我认为即使是一个窗口应用程序,您的 drop 也有点高,请尝试检查一下。

希望对你有所帮助。

【讨论】:

  • 感谢您分享建议。如果您不介意可以为我创建一个演示项目,我们可以为您支付费用。
猜你喜欢
  • 2016-12-27
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多