我想知道女巫的方式更有效率:
或(我用的是什么)
我更喜欢第一种解决方案,但我想在测试之前确定。 谢谢你,如果你知道SDL:)
答案 0 :(得分:1)
对于每个像素的事物,操纵SDL_Surface的像素通常比使用SDL_RenderDrawPoint()快 方式。当然,如果只是一个像素或两个像素,不会有太大区别,但是填充整个窗口可能会慢。将这个表面变成纹理可能需要一点时间,但不会花很多时间(在我的计算机上,每帧增加大约2毫秒)。
但是,据我所知,最好的选择是访问屏幕表面的像素(SDL_GetWindowSurface()),然后使用SDL_UpdateWindowSurface()。
我相信SDL_RenderDrawPoint()的降低是由于CPU将像素传递到GPU所需的额外时间造成的(也许软件SDL_Renderer的运行速度更快?)。
希望这会有所帮助。