Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


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


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 V-man   Members   -  Reputation: 805

Like
0Likes
Like

Posted 30 November 2011 - 07:42 AM

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.
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

Sponsor:

#2 swiftcoder   Senior Moderators   -  Reputation: 10360

Like
0Likes
Like

Posted 30 November 2011 - 09:46 AM

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 - Software Engineer @Amazon - [swiftcoding]


#3 V-man   Members   -  Reputation: 805

Like
0Likes
Like

Posted 01 December 2011 - 03:44 AM

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?
Sig: http://glhlib.sourceforge.net
an open source GLU replacement library. Much more modern than GLU.
float matrix[16], inverse_matrix[16];
glhLoadIdentityf2(matrix);
glhTranslatef2(matrix, 0.0, 0.0, 5.0);
glhRotateAboutXf2(matrix, angleInRadians);
glhScalef2(matrix, 1.0, 1.0, -1.0);
glhQuickInvertMatrixf2(matrix, inverse_matrix);
glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

#4 swiftcoder   Senior Moderators   -  Reputation: 10360

Like
0Likes
Like

Posted 01 December 2011 - 07:28 AM

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 - Software Engineer @Amazon - [swiftcoding]





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS