我需要缓冲吗?

Do I need a buffer?

我今天来这里是为了一个简单的 "Yes" 或 "No" 问题!

我最近一直在看 John Purcell 的 C++ 教程, 顺便说一句,很棒的教程,并且已经到了创建的地步 SDL 中的粒子程序。

然而,看到 SFML 如何更面向 C++,速度更快,并针对更多现代计算机进行了优化,我决定模仿他的 SFML 粒子程序教程。然而,他在他的教程中已经达到了我无法做到的地步,因为 SFML 提供了一种使用 -

为整个 window 着色的简单方法
sf::Color color(sf::Color::White);
//  Many many lines later..
     gameWindow.clear(color);

没有像他在 SDL 中所做的那样将其传递到缓冲区 -

Uint32 *buffer = new Uint32[SCREEN_WIDTH*SCREEN_HEIGHT];
memset(buffer, 0xFF, SCREEN_WIDTH*SCREEN_HEIGHT*sizeof(Uint32));
SDL_UpdateTexture(texture, NULL, buffer, SCREEN_WIDTH*sizeof(Uint32));
// More lines of code passing to the Window..

所以我的问题是, "Do I need a buffer in SFML?"

请解释你的答案。

谢谢!

没有

您无需在 SFML 中自行处理缓冲。 类 已经为您做到了。