我想了解使用SDL 2.0的整個2D加速渲染過程。
所以我的問題是哪個將是最有效的方式在屏幕上畫圈和爲什麼?SDL加速渲染
的一些方法是:
首先創建一個軟件表面,然後繪製表面上進行必要的像素,然後創建一個紋理的是表面的,最後複製的紋理渲染目標。
也是另一種實現是使用多次以畫圓的SDL_RenderDrawLine.And我覺得這是它在SDL正在實施方式2.0 GFX
或者有更有效的方式做到所有這些?
如果我想手動繪製其他形狀,可能無法使用SDL提供的2D渲染API(使用繪製線或矩形)輕鬆渲染該問題。
當我們使用線條繪製方法在屏幕上繪製圓時,我們是不是通過只繪製水平線來實現它? 因此,對於一個高度爲600像素的圓圈而言,無論您想繪製多少精度,都不會有600個線條圖(其中一些實際上很多也可以繪製爲矩形)。 我認爲準確性的問題來自於當你決定在哪裏畫線和結束時(總是在水平軸上)。 與表面同樣的邏輯。 –
@LanPac啊,我還沒有意識到你一直指的是無紋理的實心圓圈。我曾以爲你指的是空心的。但是,如果是這種情況,那麼性能方面的差別就會很小。唯一的區別將是效果,位圖將允許您使用平滑或亞像素渲染實現反鋸齒外觀,線條繪製更清晰,性能會有所不同。 – Vality
感謝您的回覆。 通常位圖會更快。 但我的問題是,我想在運行時繪製各種形狀。(沒有使用位圖) –