标签: data-structures sdl pygame clipping
我使用SDL(pygame)作为cnc模拟器。最初,屏幕刷新是使用画家的算法完成的(只是从前到后绘制所有内容),但是对于大表面来说它很慢。
为了加快重绘速度,我只刷新在任何给定时刻发生变化的屏幕部分,这样如果数值改变其值,则只有其表面和每个碰撞的相应子表面表面重绘。
目前,我正在对屏幕上的所有内容进行剪裁测试,以检测碰撞的表面,同时明显更快,我认为应该有一个数据结构和/或算法,以避免测试屏幕上的所有表面。
答案 0 :(得分:0)
您应该考虑使用quadtree来存储每个曲面的边界。这将在找到碰撞表面时优化您的操作。
您可能会发现question / answer有用。