SFML FPS访问窗口事件的问题
SFML fps problems with window event polling
我已经开始与C 和SFML 2.4一起弄乱,并喜欢它,但是我遇到了令人沮丧的性能问题,甚至试图在屏幕上移动一个简单的白色矩形。即使在使用三角洲时间时,将精灵四处移动也非常紧张,也"无法播放"。这似乎是由窗口事件进行的投票引起的。删除后,一切都像黄油一样光滑,但是(当然)无法读取事件。我正在做的事情或我可以做的任何事情都有问题吗?
最小示例:
#include <SFML/Graphics.hpp>
int main(){
sf::RenderWindow window(sf::VideoMode(500, 500), "Testing");
sf::Image pixelBuffer;
pixelBuffer.create(100, 100, sf::Color::White);
sf::Texture pixelTexture;
pixelTexture.loadFromImage(pixelBuffer);
sf::Sprite pixelSprite;
pixelSprite.setTexture(pixelTexture);
sf::Clock clock;
while(window.isOpen()){
//Poll for events
sf::Event event;
while(window.pollEvent(event)){
if(event.type == sf::Event::Closed){
window.close();
}
}
//Update the sprite
float delta = clock.restart().asSeconds();
pixelSprite.move(sf::Vector2f(50, 50) * delta);
//Draw the sprite
window.clear(sf::Color::Black);
window.draw(pixelSprite);
window.display();
}
}
谢谢!
您没有连接任何游戏控制器的机会,并且在Windows下运行此示例?
如果是这样,您很可能患有SFML代码存储库中已知的错误。只需从官方存储库中下载并编译最新版本(master
分支),请编译和安装,问题应消失。
作为替代方法,将与DirectInput兼容的任何游戏控制器(例如操纵杆或GamePad)。
相关文章:
- 警告处理为错误这里有什么问题
- C++Builder中的OnClick事件签名存在问题
- wxWidgets 拖放文件事件处理程序初始化问题(无效static_cast)
- C++和Win32 WC_DIALOG关闭事件问题
- 按键事件过滤器出现问题
- 指纹读取器 - 从 C# 代码创建事件处理程序到C++的问题
- 事件(开始,结束),1天的最大事件.C++ 中的性能问题
- SFML FPS访问窗口事件的问题
- 尝试实现 Windows API 包装器的事件处理程序时遇到问题
- 从Wt小部件信号事件运行popen()时出现问题
- Qt创建者关闭事件问题
- 使用C++11 lambda函数将点击事件连接到函数时出现问题
- C++ 事件处理 - 与常量有关的问题
- 在QT中捕捉"Tap and hold" QPushButton上的触摸事件时出现问题
- 我在C++中创建单击事件时遇到了一些问题
- win32 (c++)中的动画和事件问题
- 问题与QTableWidget右键单击事件
- 问题:让家长决定孩子是否接受事件
- VB.NET:未知的KeyDown事件问题
- 窗口事件回调函数C++的问题