游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2609|回复: 8

如何才能渲染更快?

[复制链接]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2009-2-17 21:59:00 | 显示全部楼层 |阅读模式
我用的是OpenGL
总共渲染5000个三角形,fps才20帧.

渲染列表已经用了.
还应该怎么提升速度呢?

把 glVertex3f(1.0f,1.0f,1.0f)都改成
glVertex3fv(vertex[n][0],vertex[n][1],vertex[n][2])
这样能提升渲染速度吗?

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-2-18 12:23:00 | 显示全部楼层

Re:如何才能渲染更快?

不能提高速度,反而开销更大了

1.检查GL ICD driver是否安装,Windows自带驱动没有GL加速,必须装显卡厂家的驱动
2.检查创建的GL context是否是硬件加速的。
3.使用buffer object,如果显卡不支持则使用vertex array。

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2009-2-19 08:08:00 | 显示全部楼层

Re: Re:如何才能渲染更快?

qrli: Re:如何才能渲染更快?
...
3.使用buffer object,如果显卡不支持则使用vertex array。

我顶!~~~
另,楼主可以换个显卡好试试 [em19]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-2-19 11:55:00 | 显示全部楼层

Re:如何才能渲染更快?

vertex array?
好像 NEHE教程里面也有那么一课

把纯粹 glVertex3f(x,y,z)改成 vertex array的话,
速度大概能提升多少 % 呢?

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-2-19 12:24:00 | 显示全部楼层

Re:如何才能渲染更快?

你测一下调用一个不内联的有三个参数空函数10000次所花的时间,再考虑一下DLL里的函数花在参数合法性检查上的时间和DLL函数间址调用的时间、函数堆栈维护的时间、动态缓冲区维护的时间……

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-2-19 17:24:00 | 显示全部楼层

Re:如何才能渲染更快?

看了一下 NEHE 的 第45号 DEMO - <Vertex Array Example>
分辨率 640x480, 颜色16位, 深度16位
三角形32000个, fps达到1800

但是把分辨率改为1440x900, 颜色32位, 深度32位, 并且最大化(屏幕分辨率是1440x900,无法真正最大化)
三角形仍然是32000个, fps讲到了100......

很奇怪
窗口覆盖了屏幕下方的开始栏和状态栏时,fps突然降到100的
VISTA的缺点?

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-2-19 21:43:00 | 显示全部楼层

Re:如何才能渲染更快?

原来你是vista啊,那得全屏模式才能得到充分OpenGL硬件加速。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2009-2-20 11:06:00 | 显示全部楼层

Re:如何才能渲染更快?

两种办法:

一、改用显示列表
二、改用glDrawArrays

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2009-2-20 11:25:00 | 显示全部楼层

Re:如何才能渲染更快?

分辨率1680x1050,颜色32位,深度32位,最大化的popup窗口,不是全屏模式.
场景三角形大概5000个,显卡是Nvidia 8500GT

fps应该能到多少帧数才算正常?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 06:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表