我正在开发一个应用程序,它应该像图形一样绘制矢量。我在图像上绘制了很多线条(超过5万个)。在玩完并进行一些研究之后,似乎瓶颈是由Image.Beginscene和Image.Endscene - Fastest way to draw pixels in FireMonkey引起的。有没有办法在没有BeginScene和EndScene的情况下绘制线条?
答案 0 :(得分:0)
我们最近调整了firemonkey的速度,我们发现了以下内容:
1)由于beginScene和EndScene,您不需要任何辅助缓冲区。您可以直接写入可见的画布,并在EndScrene之后填充更改而不会出现任何闪烁。
2)图像的粘贴速度非常快,甚至是大图像。
3)线条,矩形等。平均很快。
4)文字非常慢。
因此,如果您可以使用一些缓冲区并将部分线条绘制到TBitmap,那么每次构建场景时都会经过TBitmap,并且仅在更改它的线条上使用绘制,这将为您提供所需的速度。