1

我将 SDL (pygame) 用于 cnc 模拟器。最初,屏幕刷新是使用画家算法完成的(只是从后到前绘制所有内容),但在大表面时它很快变得很慢。

为了加快重绘,我只刷新在任何给定时刻发生变化的屏幕部分,因此如果数值改变了它的值,则只有它的表面和每个碰撞表面的相应子表面被重绘。

目前,我对屏幕上的所有内容进行剪切测试以检测碰撞表面,虽然速度要快得多,但我认为应该有一个数据结构和/或算法来避免测试屏幕上的所有表面。

4

1 回答 1

0

您应该考虑使用四叉树来存储每个曲面的边界。这将在查找碰撞表面时优化您的操作。

您可能会发现问题/答案很有用。

于 2013-01-17T20:51:41.277 回答