游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7520|回复: 21

为什么我的OpenGL的fps这么少?

[复制链接]

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
发表于 2005-10-19 08:22:00 | 显示全部楼层 |阅读模式
我初始化了一个OpenGL窗体(800*600,32),不作任何处理,只在循环中显示fps,结果fps也只有190左右(如果绘制一个窗口大小的图片,就只剩下90左右).这让我很困惑,难道OpenGL真的这么慢吗?还是我自己哪处理不对?
我下载了NeHe教程,去除他的程序中的其他处理,只加入显示fps部分,结果同样.
请高手们解释下好吗?要不真的没信心继续学习了GL了... [em7]

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-10-19 09:52:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

1.程序有问题。
2.看你显示字符的方法!
3.显卡和CPU是异步运行的,对FPS进行取样的不正确方法也会导致FPS降低。

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2005-10-19 12:11:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

1。程序我想应该没有什么问题吧?因为整个应用程序框架我用的是NEHE的,而且都没处理任何其他事件,主循环里只有刷新fps的函数。
2。显示字符可能有问题,因为sprintf是有点慢,直接用SetWindowText()方法
3。这个即使相差也不会太大吧?我听说有的可以达到300fps,我不要太多,只要在绘制300个100*100大小矩形的时候达到100就可以了

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2005-10-19 12:30:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

:)请问hyzboy的2D fps最大有多少啊?纯属好奇,不回答也没关系

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-10-19 13:22:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

测不出来,液晶显示器有强制的显示器垂直同步刷新,无论怎么样都只能上到60。

还要说一句: 我的古月中所有的2D图片显示都是由有2个或2*n个三角形组成的,在实质上也是3D的。而且2D过于消耗贴图,且一些绘制无法使用glDrawArray等批量绘制指令,所以大量显示2D图片并不会比大量显示3D模型快多少。在nVidia芯片上效能会比3D程序差很多(由于频繁更换贴图)。

等会儿我找人用CRT显示器试一下。

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-10-19 13:42:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

刚在一台GeForceFX 5200上测了一个复杂的GUI程序,有640x480的背景图片,超过10个控件,三角形超过100,贴图超过30张。FPS一般在340左右,最高时有370。

另外,我测试那个OpenGL Logo的3D程序也是这么高。

你还什么都没干,所以你的程序肯定有问题。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2005-10-19 19:54:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

如果绘制一个窗口大小的图片,就只剩下90左右
该不会是“一个劲地刷新图片”吧?那样工作量会很大的。

就算每次刷新的是一样的图片,让它不挺地刷新,,,,,,

发个程序看看啊?
什么样的程序?

主要是想看看“显示”方面的程序。

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2005-10-20 08:29:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

程序就是NEHE的框架,然后里面加了个刷新fps的过程。
hyzboy,可以把你测试fps的程序发给我测试下自己吗?还有可以请教下怎么用3角形代替四边形的啊?只要说一点点就可以了,不一定要细述:)谢谢

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2005-10-20 09:28:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

OpenGL渲染底层会自己将任何多边形都拆成三角形,四边形就是2个三角形,所以我说2*n个三角形。

你在我网站上下载几个示例,然后将FPS设到1000,跑一下看看能到多个FPS就行了。

用Fraps测试,www.fraps.com有下载。

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2005-10-20 12:10:00 | 显示全部楼层

Re:为什么我的OpenGL的fps这么少?

:)我先去看看了,哈哈,谢谢啊,顺便问下用三角形怎么映射纹理啊?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 10:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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