我将 SDL (pygame) 用于 cnc 模拟器。最初,屏幕刷新是使用画家算法完成的(只是从后到前绘制所有内容),但在大表面时它很快变得很慢。
为了加快重绘,我只刷新在任何给定时刻发生变化的屏幕部分,因此如果数值改变了它的值,则只有它的表面和每个碰撞表面的相应子表面被重绘。
目前,我对屏幕上的所有内容进行剪切测试以检测碰撞表面,虽然速度要快得多,但我认为应该有一个数据结构和/或算法来避免测试屏幕上的所有表面。
我将 SDL (pygame) 用于 cnc 模拟器。最初,屏幕刷新是使用画家算法完成的(只是从后到前绘制所有内容),但在大表面时它很快变得很慢。
为了加快重绘,我只刷新在任何给定时刻发生变化的屏幕部分,因此如果数值改变了它的值,则只有它的表面和每个碰撞表面的相应子表面被重绘。
目前,我对屏幕上的所有内容进行剪切测试以检测碰撞表面,虽然速度要快得多,但我认为应该有一个数据结构和/或算法来避免测试屏幕上的所有表面。