This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Power Saving using VBO

Expectation is that the VBO should consume Less Power than the Normal Rendering without VBO's .

As Copying the Data onto the GPU is not done Every Frame of Rendering.

1) Created Interleaved Data so that the VVCCNN(x1,y1,z1,,x2,y2,z3,xc1,yc1,xc2,yc2,xn1,yn1,zn1,..) the power consumed same as the data Copied EveryFrame.

2) Create Interleaved Data VCNVCN(x1,y1,z1,xc1,yc1,xn1,yn1,zn1,,x2,y2,z3,xc2,yc2,) Power consumed is more than both VVCCNN & copying frame data every frame.

The Only thing looks is that am not copying the data into 4 byte data, Is there any real impact on power by using VBO ?

What is the best Approach to get the less power and maximum performance .

Thanks in Advance

Parents
  • subrhmanyam wrote:

    the GPU bus would be left alone as the copy data is a costly operation.

    A couple of points:

    1. Unlike desktop architectures where an upload really does upload to GPU VRAM, on a mobile SoC the GPU and CPU typically both share SYSTEM RAM.
    2. By using VBOs you're avoiding the API having to copy the client buffer to memory (wherever it is) every frame, but the GPU still has to read from that VBO in memory every frame. You are therefore saving a lot of bandwidth by not copying the data every frame, but there is still energy being spent reading from the VBO. This is why the layout of data in the VBO is still important, as it impacts on the GPU's ability to efficiently read from it, and therefore on the energy efficiency of the application.

    I'm sure you're aware of this, but wanted to clarify in case anyone reading this read it the wrong way.

    Thanks,

    Chris

    EDIT: Reworded for clarity

Reply
  • subrhmanyam wrote:

    the GPU bus would be left alone as the copy data is a costly operation.

    A couple of points:

    1. Unlike desktop architectures where an upload really does upload to GPU VRAM, on a mobile SoC the GPU and CPU typically both share SYSTEM RAM.
    2. By using VBOs you're avoiding the API having to copy the client buffer to memory (wherever it is) every frame, but the GPU still has to read from that VBO in memory every frame. You are therefore saving a lot of bandwidth by not copying the data every frame, but there is still energy being spent reading from the VBO. This is why the layout of data in the VBO is still important, as it impacts on the GPU's ability to efficiently read from it, and therefore on the energy efficiency of the application.

    I'm sure you're aware of this, but wanted to clarify in case anyone reading this read it the wrong way.

    Thanks,

    Chris

    EDIT: Reworded for clarity

Children
No data