矩阵乘法的价格如何?

问题描述 投票:2回答:1

我在Quad类中编写了一些方法来绘制四边形并进行旋转。

当前,draw sprite方法就是这样做的-将四边形渲染到屏幕上。

但是,旋转方法旋转and也会渲染四边形。

我编写了另外两个方法,一个只旋转但不渲染,另一个渲染例程在进行矩阵乘法时将旋转矩阵考虑在内。因此,不要这样做:

Quad sprite = new Quad();
Quad sprite.rotate(0,0,45,mMVPMatrix);  //rotate by 45 degrees and render at 0,0

我可以这样做:

Quad sprite = new Quad();
sprite.rotate(45);            //Rotate sprite by 45 degrees
sprite.draw(0,0,mMVPMatrix);  //Render sprite at 0,0

尽管后者在编写我的主代码时稍微灵活一些,但这的确意味着即使我不想旋转精灵,绘制例程仍必须采用旋转矩阵并将其与投影矩阵组合。] >

当我有50多个精灵时,这会花费我吗?我知道在“更多代码”和“更好的性能”之间总会有一个折衷,但是实际上,这将是一个巨大的问题吗?

我在Quad类中编写了几种方法来绘制四边形并进行旋转。目前,draw sprite方法就是这样做的-将四边形渲染到屏幕上。但是,旋转方法,...

performance rotation matrix-multiplication
1个回答
4
投票

首先写代码。然后查看性能是否是一个问题。太多的事情都会影响性能,任何人都无法给您提示,尤其是没有任何真实的代码(除了您发布的微小片段)来判断时。

© www.soinside.com 2019 - 2024. All rights reserved.