gpt4 book ai didi

c++ - SFML 闪烁渲染窗口?

转载 作者:行者123 更新时间:2023-11-28 07:17:29 25 4
gpt4 key购买 nike

我希望有人能帮助我,我正在使用 SFML 2.1,当我绘制我的 renderWindow 时,它一直在闪烁,现在我知道 SFML 使用两个缓冲区,所以我确定一个根本没有被绘制但是我不明白为什么。

这是我的循环

while(!quit)
{

rs.Canvas.pollEvent(gameEvent);
colour += 1;
rs.Update(colour);

if(gameEvent.type == sf::Event::Closed)
quit = true;

rs.Canvas.clear( sf::Color(colour,0,0) );

rs.Canvas.draw( sprite );

rs.Canvas.display();

if(colour >= 300)
quit = true;
}

rs.Canvas 有这些设置

Canvas.setVerticalSyncEnabled(true);
Canvas.setFramerateLimit(60);

谁能看出为什么我的 renderWindow 会闪烁?

最佳答案

来自 SFML 2.0 教程,在控制帧速率部分下:

Never use both setVerticalSyncEnabled and setFramerateLimit at the same time! They would badly mix and make things worse.

http://www.sfml-dev.org/tutorials/2.0/window-window.php#controlling-the-framerate

在您帖子的评论中,您声明您在窗口上调用了两次 clear。这将有效地将您的窗口视为单缓冲。我知道这样做的效果可能会造成屏幕撕裂,但就我而言,我并没有得到明显的闪烁效果。请务必取消对设置帧速率或使用垂直同步的调用,以确保万无一失。

关于c++ - SFML 闪烁渲染窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com