当前位置: 首页 > 知识库问答 >
问题:

从SurfaceView切换到GLSurfaceView?

东门晨
2023-03-14

我目前正在开发一款只使用2D图形的游戏。

在游戏中,我广泛使用android的SurfaceView来显示我的图形。我听说,GLSurfaceView使用硬件加速图形,我可以使用它来提高我的应用程序的性能,而不是使用当前的SurfaceView

目前,我有一个扩展SurfaceView的类,当我自己的线程类扩展thread调用update()render()方法时,它会更新和渲染游戏状态。线程基本上帮助我保持几乎恒定的FPS。

现在的问题是:我如何从SurfaceView更改为GLSurfaceView,并调用方法从线程更新和渲染游戏状态,以仍然控制FPS。我阅读了OpenGL ES上的android文档,但我不太明白如何使用GLSurfaceView。渲染器

如果有人能解释我如何可以很容易地从SurfaceView切换到GLSurfaceView,这将是很大的帮助!谢谢!

共有1个答案

周辰沛
2023-03-14

显示游戏的类将扩展GLSurfaceView。渲染类将实现渲染器。在您的呈现程序类中,您需要添加以下未实现的方法onDrawFrame()onSurfaceChanged()和onSurfaceCreated()

希望这有帮助。

 类似资料:
  • 我有一个Java 7项目,它大量使用Javascript编写各种功能的脚本。到目前为止,我一直使用Rhino作为脚本引擎。我现在想转到Java 8,这也意味着我将用Nashorn取代Rhino。 Nashorn与Rhino的兼容性如何?我可以将其用作直接替换,还是我可以预期我的一些脚本将不再工作,需要移植到新引擎?Rhino是否有Nashorn不支持的常用功能?

  • Java(TM)SE运行时环境(构建1.8.0_102-B14) Java HotSpot(TM)64位服务器VM(构建25.102-B14,混合模式) 我知道jdk11不包含jre,但是我如何在java 11中从cmd运行java程序呢

  • Nerv 提供了比 React 更好的浏览器兼容性和更高的性能,与此同时也不会放弃 React 庞大的生态系统。兼容 React 生态系统是我们开发 Nerv 的重要目标之一。 假设我们有这样一段代码: var React = require('react'); var ReactDOM = require('react-dom'); class MyComponent extends Reac

  • 你好,我想导入我的android studio项目到Netbeas,但我得到这个错误与Gradle。

  • 问题内容: 我正在创建一个Android应用程序,并通过HttpClient将数据从Android应用程序发送到servlet。我使用HttpPost方法。 我在Android开发人员网站上了解到,Apache HttpClient库在Android Froyo 2.2中存在一些错误,毕竟使用HttpUrlConnection而不是HttpPost是一个好习惯。所以我想将我的HttpPost代码转

  • 我创建了一个应用引擎Flex NodeJS应用程序,没有意识到没有免费层。所以我决定切换到应用引擎标准。我更新了我的,部署好了,一切似乎都在工作。然而,我几个小时前部署了这个,我仍然有两个计算引擎实例在运行。我需要做些什么来关闭这些实例,还是我等得不够长?我根本不想让它们运行,因为我不想为它们付费,尤其是因为标准应用程序根本不使用计算引擎。 我试着去GCP中的Compute Engine选项卡看看