【发布时间】:2023-04-09 01:56:01
【问题描述】:
我正在渲染由大约 500k 个三角形组成的相当重的对象。我使用 opengl 显示列表,在渲染方法中只调用 glCallList。我认为一旦将图形基元编译到显示列表中,cpu 工作就完成了,它只是告诉 gpu 进行绘制。但是现在一个 cpu 核心的负载高达 100%。
你能给我一些线索为什么会发生吗?
更新:我检查了运行 glCallList 需要多长时间,它很快,运行大约需要 30 毫秒
【问题讨论】:
-
你使用简单的游戏循环还是垂直同步?通常,没有
sleep的游戏循环会占用 100% 的 CPU。 -
30 毫秒是巨大的。 30 fps 意味着 33 毫秒/帧,所以你只剩下 3 毫秒...避免显示列表,顺便说一句。
-
@Scan,我用的是 FPSAnimator
-
@Calvin1602 显示列表有什么问题?