我想了解使用SDL 2.0的整个2D加速渲染过程。
所以我的问题是哪个将是最有效的方式在屏幕上画圈和为什么?SDL加速渲染
的一些方法是:
首先创建一个软件表面,然后绘制表面上进行必要的像素,然后创建一个纹理的是表面的,最后复制的纹理渲染目标。
也是另一种实现是使用多次以画圆的SDL_RenderDrawLine.And我觉得这是它在SDL正在实施方式2.0 GFX
或者有更有效的方式做到所有这些?
如果我想手动绘制其他形状,可能无法使用SDL提供的2D渲染API(使用绘制线或矩形)轻松渲染该问题。
当我们使用线条绘制方法在屏幕上绘制圆时,我们是不是通过只绘制水平线来实现它? 因此,对于一个高度为600像素的圆圈而言,无论您想绘制多少精度,都不会有600个线条图(其中一些实际上很多也可以绘制为矩形)。 我认为准确性的问题来自于当你决定在哪里画线和结束时(总是在水平轴上)。 与表面同样的逻辑。 –
@LanPac啊,我还没有意识到你一直指的是无纹理的实心圆圈。我曾以为你指的是空心的。但是,如果是这种情况,那么性能方面的差别就会很小。唯一的区别将是效果,位图将允许您使用平滑或亚像素渲染实现反锯齿外观,线条绘制更清晰,性能会有所不同。 – Vality
感谢您的回复。 通常位图会更快。 但我的问题是,我想在运行时绘制各种形状。(没有使用位图) –