2012-08-08 41 views
-1

我一直在做一个游戏,遇到了一个很奇怪的问题。游戏在我的设置下以4k fps的速度渲染,但在绘制覆盖整个屏幕的彩色正方形+多一点作为背景后,它会下降到3k fps。将正方形的大小更改为更小的值会使问题消失。Opengl,画一个大方块减慢游戏

我已经绘制了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 } 
}; 

进出口使用最简单的着色器可能:

顶点 的#Version 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; 
} 

片段 的#Version 140

out vec4 vFragColor; 

varying vec4 color; 

void main(void) 
{ 
    vFragColor = color; 
} 

在像素填补图形的速率卡太慢了?

+0

它对所有电脑或只有一个有相同的效果吗?你使用什么图形卡? – 2012-08-08 01:28:51

+2

如果你的帧频是以千码为单位进行测量的,那么你做错了。测量*时间*,而不是FPS。 – 2012-08-08 01:31:55

+0

即时通讯使用HD6850,可以试试HD4850,但我没有Nvidia卡来测试它。 – hefty 2012-08-08 01:34:04

回答

4

4,000 FPS意味着它需要0.25 毫秒秒来渲染一帧。 3千FPS意味着它需要0.33 毫秒秒来渲染。总差0.08 毫秒秒,或80 秒。

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

+0

也许我有点太敏感了,绘制一个正方形比20k粒子有更大的差别真的让人惊讶。 – hefty 2012-08-08 01:40:20

+2

80微秒不是一个很大的区别。这是我的观点。 – 2012-08-08 01:44:53

+0

@hefty:你认为它有多大的差异?什么20k粒子? – GManNickG 2012-08-08 01:48:59