SDL:硬件渲染与软件渲染

时间:2017-01-23 18:27:49

标签: sdl sdl-2

关于窗口的一般性问题,该窗口具有经常更新的大量菜单,但仅更新实际屏幕的大约10%。很多文本如果保持不变。

SDL2使用渲染和纹理来利用硬件加速,但也允许软件渲染。

我的问题是:

  • 通过使用SDL_CreateRender()/ hardware-render直接渲染到硬件,每次重绘整个屏幕/菜单是否更快?每次只有10%的菜单实际更改时,会绘制整个菜单?或者:
  • 使用SDL_CreateSoftwareRenderer()/ software-render将整个菜单写入RAM一次更快,然后只更新实际更改的10%吗?

1 个答案:

答案 0 :(得分:1)

谢谢你们。

能够在花费大量时间处理问题之前获得其他意见是很好的。最简单的方法是使用硬件渲染并每次重绘整个窗口,因为它足够快。

主程序将所有内容(Linux下的实时数据和GUI)作为单个像素绘制到以30Hz的速率呈现给屏幕的纹理。我发现,一旦CPU时钟频率超过1Ghz,大多数图形(小区域/像素)都比硬件渲染快或快,除非清除大面积的屏幕..它需要一些工作和大量的在主要更新像素数据(GUI和数据)时读取以使SDL渲染在线程中工作。