【发布时间】:2013-05-13 06:27:54
【问题描述】:
我应该更喜欢在 CPU 还是 GPU 上计算矩阵?
假设我有以下矩阵 P * V * M ,我应该在 CPU 上计算它们以便我可以将最终矩阵发送到 GPU (GLSL) 还是应该将这三个矩阵分别发送到 GPU 以便 GLSL 可以计算最终矩阵?
我的意思是在这种情况下,GLSL 必须为每个顶点计算 MVP 矩阵,因此在 CPU 上预先计算它可能会更快。
但是假设GLSL只需要计算一次MVP矩阵,GPU计算最终矩阵会比CPU更快吗?
【问题讨论】:
-
你能举个例子,你只在GPU中执行一次这个计算吗?
-
1.最后优化。你确定你不只是拖延吗? :) 2. 如果您无法衡量性能并确定瓶颈,请不要考虑优化。
-
请注意,如果你是直接乘以一个向量,如
projection * view * model * vertex那么实际上没有matrix乘法。只有matrix * vector乘法,因为它是从右到左(projection * (view * (model * vertex)))评估的。这对计算的负担要小得多。
标签: opengl computer-vision glsl