Bindless rendering

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
User avatar
volca
Gnome
Posts: 393
Joined: Thu Dec 08, 2005 9:57 pm
x 1

Bindless rendering

Post by volca »

This caught my eye, it sounds too nice to be true (So I thought it would be interesting to share/discuss): http://developer.nvidia.com/object/bind ... phics.html

If I understand it right it means that the render states are not initialized per frame/buffer object again and again, instead they are stored on GPU and referenced with GPU memory pointers. Other interesting usages are mentioned as well. Nice to see some progress on the openGL side :)
Image
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56

Re: Bindless rendering

Post by Klaim »

I've seen the news too on the OpenGl website, they started a discussion on it.
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Re: Bindless rendering

Post by :wumpus: »

Very interesting, thanks for the link :)
User avatar
lonewolff
Ogre Magi
Posts: 1207
Joined: Wed Dec 28, 2005 12:58 am
x 6

Re: Bindless rendering

Post by lonewolff »

Nice one! 8)
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Re: Bindless rendering

Post by :wumpus: »

It shoudn't be too hard to integrate it into Ogre, I might give it a try one of these days :) Just to see what kind of speedup it will give.
User avatar
volca
Gnome
Posts: 393
Joined: Thu Dec 08, 2005 9:57 pm
x 1

Re: Bindless rendering

Post by volca »

Now, that would be interesting :)
Image
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Re: Bindless rendering

Post by :wumpus: »

I've tried a simple program (outside of Ogre, first) that renders thousands of draw calls per frame, and I am unable to get a speed-up using this extension. I've tried:

Code: Select all

- render loop
  - change material A
    - render submesh A 1000 times
  - change material B
    - render submesh B 1000 times
  ...
and

Code: Select all

- render loop
  - render 1000 times:
      - change material A
      - render submesh A
      - change material B
      - render submesh B
      ...
I've tried to render a few different meshes or only one a zillion times. I've tried with large meshes and small, simple meshes...

In all of the cases there was no performance difference at all... seems the performance gain stated by NVidia is overrated enormously.

Of course, this API allows doing things (somewhat) more conveniently, and using complex data structures in shaders, but the promised speed-up is nowhere to be found :(
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Re: Bindless rendering

Post by :wumpus: »

Probably, this extension is completely about reducing the CPU load of a draw call, which in my case was not the bottleneck. (it would only become that with a very fast card, or if the rendering speed is limited somehow) I've posted the same question in the official bindless rendering feedback thread to see what they say.
User avatar
Bontakun
Goblin
Posts: 290
Joined: Tue Dec 09, 2003 6:09 am
Location: Melbourne, Australia

Re: Bindless rendering

Post by Bontakun »

Has any more work been done in this area?
- Bonta (eveonline:Dentad)
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

Re: Bindless rendering

Post by Lee04 »

Bindless is the new graphics processor architecture.

Without it a 3D engine like Ogre, doesn't support the current 3D processor.

Somparing none bindless with bindless is like comparing fixfunction graphics 3D processors, with programmable graphics processors.

I hope 2.0 of Ogre will totally build upon bindless and more of the new area of graphics processors.

As I have always said,
Graphics processors are under heavy development still.

What we seen so far are just toys of whats comming.
Ph.D. student in game development
User avatar
Lee04
Minaton
Posts: 945
Joined: Mon Jul 05, 2004 4:06 pm
Location: Sweden
x 1

Re: Bindless rendering

Post by Lee04 »

Bindless is the new graphics processor architecture.

Without it a 3D engine like Ogre, doesn't support the current 3D processor.

Somparing none bindless with bindless is like comparing fixfunction graphics 3D processors, with programmable graphics processors.

I hope 2.0 of Ogre will totally build upon bindless and more of the new area of graphics processors.

As I have always said,
Graphics processors are under heavy development still.

What we seen so far are just toys of whats comming.
Ph.D. student in game development