GL Teapot 60FPS

Hi. I don’t know if this was asked already, but I can’t find any reference to it. The last few machines I tested Haiku on have had GL Teapot capped at 60FPS. Actually I think the only one that hasn’t had it capped is my 2012 MacBook Pro. I can give more details if needed, but I assume it’s a known thing already.

1 Like

GLTeapot matches the refresh rate if a supported graphic card is detected and a graphic driver is in use. It is not capped otherwise and your MacBook Pro definitely uses the framebuffer driver.

1 Like

Good to know. How do I remove the cap?

Why would you need that?

That’s not very helpful. Do you not know how to? If this is the case, you should start off by saying, “I don’t know how to do this”. :slight_smile:

Just sayin’.

GL Teapot is a good tool to measure performance. It doesn’t really measure performance if it’s capped at a low number.

1 Like

There was a forum thread where Pulkomandy explained why GL teapot is not a proper performance indicator.
I do not remember the reasoning at all as I did not want to remember, but only had left something what GL teapot render (?) uses or whatever in the demo app … the FPS will remain the same whatever monstrous HW you have.
I just suggest to search forum for this demo app + Pulkomandy to have the correct answer from that previous answer from him.
I cannot guarantee that is the right answer as I am not an expert in it to confirm or deny it - I can only drive you to a possible answer you are searching for.

1 Like

Thanks for that, I’ll look in a bit.

It’s one thing to tell someone that it’s not a good performance determinator. But it should not be capped without the option for me to uncap. Then it tells you absolutely nothing.

1 Like

Asking “why” to a question that doesn’t seem to make sense is perfectly valid.

The cap is on purpose: any frames that are rendered more than needed are a waste of computer ressources and thus power.

It’s just a demo of us beeing able to render a teapot, nothing more.
Back in the day this used to be impressive.


Just comment out this line:
ObjectView.cpp « glteapot « apps « src - haiku - Haiku’s main repository (

1 Like

The question makes perfect sense, and I didn’t really feel it was worth it to point out to him that he shouldn’t answer questions with a question. I didn’t take it personally, I just would hope he might see that it’s not helpful.

Exactly. It uses computer resources. The reason it was impressive, is you could put a video overlay on a turning page, play several audio tracks, a Tv signal, and still get decent FPS on GL Teapot. If everyone gets 60FPS at all times, why even tell me how many FPS I’m getting.

But my reasoning doesn’t really matter. I could ask, “How do I remove all buttons from the user interface”. And if I knew the answer, I would answer myself “I think that’s a really bad idea, but here is how you do it: blahblahblah. Why do you want to do this?”

I appreciate the answer, and have normally found you all to be helpful on this forum. And I do my best to be helpful as well. :slight_smile:

Or, to avoid reprimanding a fellow forumite that took time to answer the original question, just give the answer to his innocent question. “Why would you need that?” - “Just for fun.”
Then get on with how to remove the fps cap, as was actually happening.
We don’t have to go out of our way to create friction.

1 Like

Asking questions is acceptable if it allows me to answer more precisely. Talking back and starting a flame is not helpful. And quite rude.
You also assumed that I don’t have the answer, what does make you think that?
As you may have noticed there are different answers that depend on your needs.
@nephele pointed out that if you want to use it as a benchmark it’s not a good idea.
If you want to know how it works and get your hands dirty with the code, @steven_h pointed you to the source code.
I can tell you that if you just want to temporarily see the difference you can reboot into fail safe graphic mode because there is no setting to change this behaviour.
I hope that you find our answers valuable.

1 Like

GL Teapot is a good tool for rendering teapots and showing that OpenGL is working and you can multitask it with other things. It doesn’t really do this well in Haiku demos if it continuously uses 100% CPU and makes the computer fans run like crazy. That’s why I made it not render faster than the screen can display things. There’s no point in that context, and the low CPU use is a lot more impressive than a counter that prints several thousands “frames” per second that are not actually shown.

So, sorry, I will reply with another question too :smiley:

What other things could we run as benchmarks, that would give a more useful and realistic score? Are there some opensource benchmark tools we could port? Just use some videogame?

Still, in my openGL driver developing days GL teapot was very handy indeed for measuring coarse performance. I would still therefore love it if it had a menu option to kill that cap. I hate that cap personally.


The Phoronix Test Suite seems a good candidate.

1 Like

There are recorded plays for Quake or OpenArena. An average FPS count from a minute play would be a better 3D performance benchmark than Teapot does.


There you have my second (and third) testing apps :wink:
I used the timedemos in quake 2. And also tested with quake 3.

However, when making a new driver release I was crosschecking dozens of gfx cards against some three Mainboards, and teapot very quickly gave me preview info if I was on correct direction with my tweaks or not. You can still see all that in my personal site, still in the air today, including all benchmark results.


I would use at least, a complex model than a teapot or a teapot with a triangle count one or two magnitude orders bigger than actual.

EDIT: A textured option would be nice too, in order to have a better guess of actual fill rate.

1 Like

Well, I didn’t think I was all that. Hence, the “:-)”

I wouldn’t necessarily say the question is entirely “innocent”, but like I said, I didn’t take it personally. Neither should any of you take what I said personally. Like I said, you all have always been very helpful. However, I’m sure we have all dealt with reading people in tech-help forums asking questions, only to receive answers such as “Why do you want to do that”. “Why don’t you just use Windows 10”. “Why not just get a new computer”. “Why would you want bridge mode on a router”. “Just install this other operating system instead”.

Frequently those who offer these remarks don’t actually know how to fix the problem, which is OK, but not actually making anyone’s life easier. In fact, such ways of answering could be seen as a “reprimand”.

But like I said, no worries.

I actually don’t want to boot into fail safe graphics mode. However, that would be an acceptable answer. Also a fair answer was KitsunePrefecture, even though it didn’t directly answer my question. Steven_H also answered my question, however no, I do not want to get my hands dirty with code. Still doing that trying to make everything boot the way I want it ;-).

I did already say that I find your answers valuable. I said that, and even a smiley face, in case one didn’t read my state of mind correctly from my “reprimand”. All these answers would have been accurate no matter what my reasoning for wanting the cap gone was.

There’s no talkback, or flamebaiting, on my end. I didn’t see any on your end, despite you saying I was rude. That is a classic etiquette rule though. “Don’t answer a question with a question”. Many would see it as belittling, or intentionally obnoxious. I, however, was so unbothered, that I just pointed out something that may help you with future interactions with someone not as easy-going as myself, and then also answered your question.

We would get nowhere if I said “How do I do this”, and you said “Why would you need to”, I: “Why wouldn’t I need to”, You: “Who would want to”, “Why do you wanna know”. And I tell(told) you that with the best of intentions.