-1

我一直在做一个游戏,遇到了一个非常奇怪的问题。游戏在我的设置中以大约 4k fps 的速度渲染,但在绘制了一个覆盖整个屏幕的彩色正方形 + 稍微多一点作为背景之后,它会下降到 3k fps。将正方形的大小更改为较小的可以使问题消失。

我已经画了 40k 个三角形和粒子系统。

正方形是加载在 VBO 中的三角形条带。

GLfloat vBackground[4][3] = {
        { 0.0f, 0.0f, 0.0f },
        { 16.0f, 0.0f, 0.0f },

        { 0.0f, 16.0f, 0.0f },
        { 16.0f, 16.0f, 0.0f }
};

我使用最简单的着色器:

顶点#版本 140

#extension GL_ARB_explicit_attrib_location : enable

layout (location = 0) in vec4 vVertex;

uniform mat4 mvpMatrix;
uniform vec4 inColor;

varying vec4 color;

void main(void)
{
    color = inColor;
    gl_Position = mvpMatrix * vVertex;
}

片段#版本 140

out vec4 vFragColor;

varying vec4 color;

void main(void) 
{
    vFragColor = color;
}

显卡的像素填充率是不是太慢了?

4

1 回答 1

4

4000 FPS 意味着渲染一帧需要 0.25毫秒。3000 FPS 意味着渲染需要 0.33毫秒。总差异为 0.08毫秒,或 80微秒

我不会担心的。你的卡不是“太慢”;你对微小的时差太敏感了。

于 2012-08-08T01:34:51.037 回答