2

我有小纹理(8×8、16×16、20×20,还有 10×20、24×32、64×16 和其他各种尺寸),我想填充屏幕上的某个矩形区域,重复而不是伸展。

问题是如果我只是通过多次绘制调用一个接一个地绘制足够的精灵,它只会消耗大量的 CPU。难道没有其他不需要这么多draw call的方法吗?

使用重复精灵的预制纹理不是解决方案——目标矩形区域具有不同的大小,并且在每个游戏中随机生成。

4

1 回答 1

0

在您创建随机矩形区域时,您可以创建一个 RenderTarget2D 以及每个矩形。然后你将你的图块绘制到那个 RenderTarget2D 中一次。之后,您可以使用 RenderTarget2D(可以像 Texture2D 一样绘制)在一次 Draw 调用中绘制所有图块。

于 2013-01-19T19:57:01.943 回答