In trunk we added IRenderTarget object, so this problem is solved.devsh wrote:One of the problems with irrlicht is that there is no MRT object, so an FBO is made for each render target texture instead, and that is mutated to attach other textures as outputs 1 and onwards. This is really slow in some drivers according to Valve and Intel
Render to Texture performance
Re: Render to Texture performance
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Render to Texture performance
nice
did you see my document about my Buffer-Centric irrlicht fork?
did you see my document about my Buffer-Centric irrlicht fork?
-
- Competition winner
- Posts: 523
- Joined: Tue Jan 15, 2013 6:36 pm
Re: Render to Texture performance
Negative sir the problem is only solved if you use the trunk.
Re: Render to Texture performance
Getting these beauties from KHR_debug and Intel Driver01-22 13:52:56:269 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:56:323 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:56:323 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:56:353 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:56:354 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:56:394 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:56:394 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:449 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:449 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:485 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:485 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:521 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:521 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:575 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:575 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:608 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:608 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:666 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:666 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:701 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:702 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:738 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
01-22 13:52:57:738 : [OPENGL] [MEDIUM][OPENGL DEPRECATED] API_ID_LINE_WIDTH deprecated behavior warning has been generated. Wide lines have been deprecated. glLineWidth set to 1.600000. glLineWidth with width greater than 1.0 will generate GL_INVALID_VALUE error in future versions
01-22 13:52:57:790 : [OPENGL] [ LOW ][OPENGL PERFORMANCE] API_ID_REDUNDANT_FBO performance warning has been generated. Redundant state change in glBindFramebuffer API call, FBO 0, "", already bound.
Re: Render to Texture performance
Trunk -> current state of Irrlicht development, so it's solved.The_Glitch wrote:Negative sir the problem is only solved if you use the trunk.
@devsh
I'm not sure, but probably not. Is this log from trunk? In trunk we check if the new FBO is different than the last FBO:devsh wrote:did you see my document about my Buffer-Centric irrlicht fork?
Code: Select all
if (FrameBufferID != frameBufferID)
{
Driver->irrGlBindFramebuffer(GL_FRAMEBUFFER, frameBufferID);
FrameBufferID = frameBufferID;
}
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: Render to Texture performance
Doing a fork and rewrite of most IMesh+IMeshBuffer related things
https://docs.google.com/document/d/1BSZ ... kSgU4/edit
This is my amended architecture
https://docs.google.com/document/d/1BSZ ... kSgU4/edit
This is my amended architecture
Re: Render to Texture performance
I hope you dont call glDrawBuffer(s) on every setRenderTarget call
Re: Render to Texture performance
The is no a cache system for those calls yet, but this task stay on my TODO list and will be added before v1.9 release, however at now other tasks has higher priorities.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes