游编(4)—View与SurfaceView视图绘制框架对比

2020-08-25  本文已影响0人  奔跑的佩恩

前言

在之前的文章,我们已经了解了View游戏视框架SurfaceView游戏视图框架,它们都可以为游戏的开发带来很好的视图展示效果。感兴趣的可参考以下文章
游编(1)—View游戏框架
游编(2)—SurfaceView游戏框架<上>
游编(3)—SurfaceView游戏框架<下>
那么当我们开发的时候,如何选择哪个框架作为展示的控件呢?下面就来学习下吧

今天涉及知识点:

  1. View框架优劣
  2. SurfaceView框架优劣
  3. 两个框架使用场景

一. View框架优劣

通过之前的学习,我们可以知道View框架是通过主动触发游戏逻辑来驱动游戏后续动作的,如点击,触摸等驱动界面重绘。当然,它还涉及到两个重要方法:

画面一般有主UI来更新,这回导致一个问题,一旦主界面ui更新绘制时间过长,就会导致界面卡死,触屏键,返回键等失效。
而且View游戏框架没有双缓冲机制。这就是View框架的劣势。

二.SurfaceView框架优劣

SurfaceView拥有双缓冲机制,其继承自View,却通常是自定义一个类似draw的方法,而不是使用ViewonDraw()方法来绘制视图。SurfaceView的视图重绘通常是利用单独的线程去更新,所以不会出现类似 界面卡死,触屏键,返回键失灵的情况。
还有一个重要区别View是主动驱动界面绘制,而SurfaceView是被动驱动绘制,所以SurfaceView要不断更新画布,对手机的开销很大。

三. 两个框架使用场景

讲了这么多,由于SurfaceView继承自View,一般情况下,更适合于做游戏的开发,单这并不表示任何情况下SurfaceView框架都比View框架好.在实际开发中,一般是根据游戏类型来确定使用哪个游戏视图框架。

由于当前市场游戏泛滥,为了满足广大用户的游戏需求,各种类型的游戏层出不穷。所以大多数时候,我们都用SurfaceView进行游戏视图的开发,因为SurfaceView可以开发更多的游戏类型。

ok, 今天的内容就介绍到这里了,谢谢大家。

上一篇下一篇

猜你喜欢

热点阅读