首先,不要认为我在提出“SFML 和/或 C++ 性能问题”类型的问题。我对我一直在研究的这个地图编辑器的性能不满意,我 99% 的把握是我的错。
目前我在地图上放置图块的方式基本上是我有一个函数循环遍历地图上的每个图块并检查鼠标是否悬停在它上面。我在另一个简单命名的函数中调用这个函数handleMouseClick()
如果您每次想要放置瓷砖时都单击一下,这将非常实用,但我有它有点像画笔。即使地图上只有 500 个图块,如果您在屏幕上快速拖动它,它也会跳过图块。我需要能够创建具有 5000 多个图块的地图,但我负担不起马马虎虎的性能。
我查看了我的代码并确保我没有制作不必要的副本。我很确定提高性能的最佳方法是更改我检查鼠标正在更改的图块的方式。
我唯一的想法是将地图放在“块”中,以便它检查鼠标所在的“块”的图块。