安卓,触摸屏幕时jni的openGL滞后

 2023-01-21    285  

问题描述

我目前正在测试我在Android平台上游戏中需要的所有功能.我只修改了Hello-GL2示例代码,并在两个渲染通道中添加了一些纹理,即VBO,FBO和简单的着色器.

问题是,当我让应用程序运行时触摸屏幕时,我的fps约为35-45 fps.但是,如果我开始连续触摸屏幕,渲染开始就会滞后!因此,这是一个问题,因为输入和渲染在同一线程中(如它认为是吗?),甚至可以修复吗?如果我无法修复该滞后,我的游戏可能不会足够好,无法播放蜜蜂. (有一些沉重的渲染内容)

安卓,触摸屏幕时jni的openGL滞后

//预先感谢!

推荐答案

我是Android开发的新手,但发现触摸处理程序也很懒惰.默认样本正在启动一个对象并做很多事情 – 这必定会使垃圾收集器生气.我设法通过调用” thread.sleep(10);在运行功能中.

我想,用圆形的物体缓冲液代替”新运行”可以提高性能,但我还没有调查过.我的触摸事件似乎在单独的线程上发生,这可能会引起并发症.

Override public boolean onTouchEvent(final MotionEvent event)
    {
        queueEvent(


        new Runnable()
        {
            public void run()
            {

                int action = event.getAction();
                //do your handling here
                try
                {
                    Thread.sleep(10);
                } catch (InterruptedException e)
                {

                    e.printStackTrace();
                } 

            }
        });
        return true;
    }

以上所述是小编给大家介绍的安卓,触摸屏幕时jni的openGL滞后,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26253.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。