当我启动一个新实例时,SDL Window 显示上次程序 运行 在新 window 的背景中的最终帧

SDL Window shows final frame from the last time the program was run in the background of a new window when I start up a new instance

我正在制作一个简单的游戏,只是在摆弄 SDL。我目前有两张图片,我正在练习将它们作为背景。我通过调用 RenderCopy 和 DestroyTexture 将其从内存中清除来制作背景,然后呈现它。我将文件路径从一个图像更改为另一个以更改背景。我 运行 程序,现在新图像 叠加在另一个 之上。如果我手动清理我的计算机内存并正确呈现,我可以解决这个问题。出于某种原因,SDL 没有清除之前调用的图像。代码中的其他任何地方都没有提及旧图像,并且调用了所有 Destroy 函数。怎么回事?

编辑:我做了一些窥探,并不是说它甚至加载了旧图像;无论任何程序 运行ning SDL 在 运行 之前显示的最终渲染是什么,它都将是背景。从字面上看,它就像电视将图像刻录到屏幕上一样;它一直在那里。

问题已通过简单地清除帧之间的帧得到解决。没有任何性能影响。