Skip to main content
GameDev.net gamedev.net
🔒 Locked

Are there any benchmarks that demonstrate core profile vs compatibility profile?

Started by V-man Nov 30, 2011 at 1:42 PM 2 replies 4.9k views
Original Post
V-man
V-man
Are there any benchmarks that demonstrate core profile vs compatibility profile?
By compatibility, I don't mean to actually use any old GL functions. Your code would still be strictly GL 3.3 core except that you would be creating a "compatibility context".

Apparently, the performance is worst with a core profile on nvidia. According to a slide by Mark
(http://www.slideshare.net/Mark_Kilgard/gtc-2010-opengl, page 97)

According to him, core profile either would give equal performance or less because there would be more things to check at every GL function call.

That is a pretty bad design decision.
swiftcoder
swiftcoder

According to him, core profile either would give equal performance or less because there would be more things to check at every GL function call.

That is a pretty bad design decision.

It's an implementation decision NVidia made, to have all these extra runtime checks to verify what is/isn't allowed in a core profile. They could have stubbed out the disallowed functionality instead, and provided a debug library to enforce the checks, but given how much investment they have in non-core OpenGL I don't think it made much sense for them. It's important to remember that Core isn't necessarily the performance path as far as NVIdia is concerned - for example, their display list implementation consistently beats naive vertex buffer use.

I also think he may be engaging in a little hyperbole there. You would have to be making one hell of a lot of OpenGL calls for a few CPU-side branches to become a performance bottleneck.
Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]
V-man
V-man
thanks for the response.

Check out Zenja's post
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=306643&page=2

and he is talking about amd on linux

and he posted this
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=302389

but other than that, there isn't much word about this issue. Where are the benchmarks?
swiftcoder
swiftcoder

Where are the benchmarks?

Better question: does anybody care? It's a single line of code to flip between Core and Compatibility profiles.

One could develop one's game using the Core profile, to get all the fancy deprecation checks, and then flip to Compatibility near release. If you get an extra 10 frames per second, well, enjoy.
Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.