游戏性能提高降帧处理方式

游戏性能提高降帧处理方式_游戏开发_游戏设计_性能提高_课课家

      什么是降帧&为何降帧?性能

  通常状况下咱们为了提升整个游戏的体验,因此咱们通常会将游戏的帧数(每秒钟刷新多少次)设置的比较高。通常状况下,咱们的游戏全部的代码都是一帧执行一次。为了让每一帧都变成真的关键数据帧。不过,部分手机能性能可能跟不上,或者计算量太大的状况下,手机的运算速度不可以支持的状况,太高的性能消耗就会拖慢运算的速度,让一秒内没有办法打到满帧。因此就会以为游戏变得卡顿。优化

  其实一部分逻辑并无必要每一帧都去执行,能够将他们隔几帧运行一次也不是不能够。好比说伤害值的运算,伤害应该与游戏运营的帧数无关,好比每0.1秒执行一次伤害代码,那么在满帧60帧的状况下,其实每6帧执行一次就OK。动画

  咱们之因此但愿能提升帧数,是为了制造流畅的感受。可是降帧则会违反这种感受。因此游戏的帧数不能下降,或者在准确一点来讲,游戏的View的帧数不该该下降,减低的应该是逻辑帧数。设计

  或者有朋友会问,若是咱们的程序最少的逻辑间隔时间是0.1的话。全部的游戏逻辑都是间隔0.1断定一次不就行了?这不是很简单的事情?但实际上事情并无那么简单。通常状况下咱们人眼的录入认为是16帧每秒。对象

  如今的理论上知足16帧的游戏,会显得更加的流畅了,咱们知道一个16帧的游戏,并不能让人以为很是流畅。为何呢?其实缘由也很是简单。人看到的东西会有预判,如今你看到这个怪物在水平移动,若是说游戏表现出来的效果与你的预判是保持一致的,也许你会以为这样是显得很是流畅的,可是若是怪物的移动跟你的预判不一致,那么你就会以为这个游戏并不流畅。blog

  那么该怎么去降帧?游戏

  在文中已是提到,我但愿将游戏的帧数分为两种,一种是逻辑帧,另一种View帧。View帧是满帧在跑的。而逻辑帧则是间隔执行的。也没错。上文中已经提到了,简单的区分这两种更新的实际也并不合适。由于依然会有一点的卡顿,那怎么才会不卡呢。那就能够将数据量分摊到各个帧里边,这样也就达到要求了。游戏开发

  怪物会有两种跟新模式开发

  一、View更新:用来更新他的位置,动画一类get

  二、用来更新行为:攻击、打出伤害等

  主循环会有多个对象列表好比说6个

  那么主循环会将每一次的Update标上记号。调用全部的对象的View更新方法和与标记相对应的对象列表的逻辑更新。

  这样就将全部的逻辑分摊到了各个帧数里边,让各个帧数更平均一些,最后是达到流畅的目的

  对游戏感兴趣的朋友们能够在这方面深刻的进行研究,游戏开发设计制做是属于一个比较复杂的项目,要想对游戏精通,还得从兴趣的基础上进一步的优化。

相关文章
相关标签/搜索