【问题标题】:what is best used to optimize sfml project?什么最适合优化 sfml 项目?
【发布时间】:2020-06-12 07:22:34
【问题描述】:

做 2d 项目模拟器生活。当有很多生物时,项目开始挂起,导致生物的速度明显下降。你能推荐什么?也许使用着色器进行绘制或有什么真正有用的东西?

【问题讨论】:

  • 首先使用分析器,否则你最终会解决你没有的问题而忽略你做的问题。
  • 谢谢,一个window.draw仍然存在问题,我该如何解决?

标签: c++ 2d shader sfml


【解决方案1】:

如果没有您的代码,将很难为您提供帮助,但我仍然可以根据自己的经验给您一些建议。
由于您正在使用许多“实体”,因此这些实体之间可能存在某种交互。如果是这种情况,Quadtree(或简单的网格)可以帮助降低算法的复杂性。
但大多数时候,SFML 应用程序由于渲染效率低下而运行缓慢。有几种方法可以减少渲染时间:

  • 一次绘制所有内容(将所有顶点放在一个数组中并绘制一次,而不是一个一个地绘制一千个矩形)
  • 绘制更简单的对象(例如:点而不是矩形)
  • 不经常绘图;您不必每次更新时都绘制。有一个时钟测量自上次更新以来的时间,并在超过时间(60 FPS 为 1/60 秒)时绘制。

我对着色器了解不多,但对于你想做的工作来说,它们似乎有点矫枉过正。

【讨论】:

    猜你喜欢
    • 2010-12-29
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多