sách gpt4 ai đã đi

java - 游戏 build 。机制

In lại 作者:行者123 更新时间:2023-12-02 05:47:16 31 4
mua khóa gpt4 Nike

通常游戏是通过无限循环创建的,它由两种主要方法构建:

while(true) {
update();
paint();
}

我只用java写了3行:

long start = System.nanoTime();
List> list = new LinkedList<>>();
long end = System.nanoTime();

然后我显示了执行此类操作的时间,我得到:1 ms、323 us 和 48 ns。

游戏流畅,如果至少有30帧/秒,那么1秒内,一帧的时间:33毫秒。

如果像创建容器这样简单的操作一帧就需要3%的时间,怎么可能写出流畅的游戏呢?仅一项操作就花费了 3% 的时间,如果应用程序复杂化,在 33 毫秒内计算并绘制所有内容几乎是不可能的。

通常在游戏中update()So sánh paint() 更罕见地被调用?

1 Câu trả lời

正如 Jim Garrison 在评论中提到的,当 JVM 启动时,运行速度会变慢。这是由于多种因素造成的,包括“及时”编译或 JIT...仅仅分析几行代码基本上是没有意义的...应用程序启动后运行的相同代码行可能只需要一小部分如果单独运行,它们所花费的时间。

此外,大数据结构的(缓慢)初始化通常在游戏更新循环开始之前完整执行。

也可以使用多线程进行后台加载和资源初始化...尽管通常简单地在级间菜单屏幕期间预加载所有内容是可以接受的。

现代游戏循环通常也比您的示例复杂得多:

例如,诸如迷你 map 之类的东西通常以较低的频率更新,或者每帧仅部分更新,而物理通常需要以比绘制周期更高的采样率运行。

关于java - 游戏 build 。机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943645/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com