绘制矩形数组时减少CPU使用率(SFML)

时间:2013-06-18 12:59:08

标签: c++ arrays draw sfml

除其他外,我正在绘制四个65 sf :: RectangleShape的数组(我使用的是SFML 2.0)。在我的游戏循环中,我这样做:

//...

window.clear();

// here I am drawing some other stuff

for (int i = 0; i < 65; i++) {
    window.draw(tilesLeft[i]);
    window.draw(tilesTop[i]);
    window.draw(tilesRight[i]);
    window.draw(tilesBot[i]);
}

window.display();

这很好用。但是,我在任务管理器中注意到,我在屏幕上绘制的阵列越多,自然就会使用越多的CPU功率。因此,当我绘制简单的东西时,它是0-5%,而现在,当我绘制这四个阵列时,它上升到20-25%。

现在我的问题是,如何减少CPU使用率?我正在制作的程序非常非常简单,因此25%的CPU使用率是不合理的,而且实际上是由于我的实施不佳。

有没有办法,我不知道,缓存在一个帧中绘制的图片并将其制作成位图或其他东西,只绘制那个butmap,直到数组中的某些内容发生变化?

我也已经尝试在不同的线程中绘制数组而没有产生更好的结果,所以我非常希望有人可以帮助我。

我尽力彻底解释这一点,但我不是母语为英语的人,所以我不知道它是如何被感知的。此外,我已经使用谷歌试图解决这个问题,而不是在这里问,但没有任何运气。

谢谢

0 个答案:

没有答案