SurfaceView 渲染帧速的问题。 求助
问题描述:
1.我使用的是 SurfaceView 在单独的线程中进行 绘制。 绘制部分的代码为:
public void run() {
// TODO Auto-generated method stub
while (mIsLooping) {
try {
//Thread.sleep(5);
} catch (Exception e) {
// TODO: handle exception
//Log.d(TAG,"sleep 20 error ,the error message is:"+e.toString());
}
//synchronized(mSurfaceHolder)
{
frameMove();
render();
}
}
}
2.可以绘制成功,但是问题是: 绘制的帧速不稳定, 快的时候 在50帧左右, 但是有时候就会降到20帧。
3.我使用的最简单的绘制进行测试的,没有任何复杂的计算逻辑,也就排除了因为我自己的代码逻辑导致帧速降低的问题。
4.20帧左右虽然可以接受,但是会导致画面渲染的过程中出现不流畅的现象。体验不好。
问题:
a.请教高手们,有没有遇到过类似问题已经解决了的?
b.是不是SurfaceView绘制的效率上确实有缺陷,写游戏的话大部分是直接操作GL吗?
c.synchronized(mSurfaceHolder) 看书里面有这样的语句, 但是这句话是必须的吗? 为什么要做同步呢?
问题比较多,希望高手能帮忙解答一下。 100分奉上