LibGDX输入模块之连续和非连续渲染

默认情况下,在libgdx中,渲染线程会持续调用ApplicationListener类的render()方法,其频率取决于您的硬件(每秒30-50-80次)。

如果您的游戏中有许多静止场景(例如一个纸牌游戏),您可以通过禁用连续渲染来节省宝贵的电池电量,并且只有在您真正需要时才调用它。

要实现上述的功能很简单,所有你需要做的是将以下行放在你的ApplicationListener的create()方法中

Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();

第一行告诉游戏停止自动调用render()方法。
第二行触发一次render()方法。
当你想手动渲染时,你必须经常性使用第二行.

如果连续渲染设置为false,则只有在以下情况发生时才会调用render()方法。

  1. 触发输入事件
  2. 调用了Gdx.graphics.requestRendering()
  3. 调用了Gdx.app.postRunnable()

UI操作:许多操作(如默认淡入淡出对话框)需要持续刷新界面来展示动画,因此它将代表您调用Gdx.graphics.requestRendering()。 这是默认启用的。 要禁用它,可以调用:

Stage.setActionsRequestRendering(false);

引申阅读:
Good article about this topic
Official libgdx blog post

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,041评论 19 139
  • 有很多种framework以及很多种方法的组合可以在屏幕上渲染UI元素,我们在这里讨论这个过程中发生的事情,希望这...
    纵横而乐阅读 4,532评论 4 25
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,977评论 6 342
  • 本系列文章的重点是关注在总结iOS图形图像的原理和性能优化的常规解决方案。 事先声明,本文绝大多数概念和内容均来源...
    ac3阅读 3,908评论 10 14
  • 只有最在乎你的人才愿意去骂醒你,去告诉你,你没有那么好,也没有那么可怜,你的悲哀和千万个人的悲哀是一样的,大家并没...
    孔庙祈福阅读 145评论 0 0