gpt4 book ai didi

android - 为 android 编写实时 opengl-es 游戏 - 一些问题(优化)

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:52 30 4
gpt4 key购买 nike

1.

游戏中的时间:有没有办法使用 System.Currentmillis()-starttime>XX 来更新游戏中的任何内容?它安全还是 CPU 昂贵?

2.

在我的游戏中,我有 20 个项目(移动方形顶点),当达到 60-70 个顶点时,FPS 从 60 FPS 下降到 30-40 FPS。 (在 Galaxy S i9000 手机上测试)。有没有办法让我的游戏 FPS 变成 30FPS?将我的游戏更新到 30 FPS 是否有用,或者我不需要处理这个? (因为较低的 FPS 会有滞后 - 它会很慢)

如何让我的对象在任何时候都以相同的速度运行?

3.

最好的方法是什么:执行 phisyx,以及 onDrawFrame 中的所有 stupp,或者:启动一个 Thread 对我来说数学是什么?什么更快更好?

最佳答案

TIMING in a game: Is there a way to use other then System.Currentmillis()-starttime>XX to update anything in a game? Is it safe or CPU expensive?

您应该使用时间增量系统。有很多关于这个的教程。这是一个很好的教程:deWiTTERS Game Loop .

In my game I have 20 items (moving square vertexes), when it comes up to 60-70 vertex, the FPS drop down to 30-40 FPS, from 60 FPS. (testing on a galaxy S i9000 phone). Is there a way to my game FPS will be 30FPS? Is it good for update my game to 30 FPS, or I dont need to handle this? (because there will be a lagg on lower FPS - it will be slow)

这取决于您使用的方法。如果是 3D,您应该考虑使用 Vertex Buffer Objects (VBO:s)(类似于 Vertex Array 但在设备的 GPU 内存中)。这产生了巨大的差异,因为 CPU 不需要在每次迭代时都将数据从 CPU 复制到 GPU。

如果是 2D,您仍然可以使用 VBO:s,但如果推荐的设备支持 draw_texture

但是,选项是:

  • 顶点数组(最慢)。
  • Vertex Buffer Objects(在 3D 中最快,在 2D 中比 draw_texture 慢)。
  • draw_texture 扩展(2D 中最快,但不渲染 3D 内容)。

您可以支持所有这些方法以涵盖整个 Android 设备范围,但请记住检查设备的 OpenGL 驱动程序的扩展。有些设备可能支持所有这些,但也可能有仅支持 Vertex ArraysVBO:s 的设备(例如)。

我已经回答了一个相关问题here , 但只是为了给你看;这是 Chris Pruett 在 Google I/O 上的一次演讲的打印品: drawing stuff

How I can do to my objects run on the same speed, at any time?

你不能。 Android 是一个多处理操作系统,您不知道发生了什么(也许另一个 Service 应用程序正在更新?)。您可以做的是使用时间增量系统,就像我上面提到的那样。

what is the best way: do the phisyx, and all the stupp in onDrawFrame, or: start a Thread what is made the mathematics for me? What is faster and better?

推荐多线程(两个Thread并行运行)。很快,在 onDrawFrame 中进行绘图,并在您自己创建的 Thread/Runnable 中更新内容。

推荐资源:

关于android - 为 android 编写实时 opengl-es 游戏 - 一些问题(优化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281865/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com