Page 2 of 2
Re: Render to Texture performance
Posted: Thu Jan 21, 2016 9:11 pm
by Nadro
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
In trunk we added IRenderTarget object, so this problem is solved.
Re: Render to Texture performance
Posted: Thu Jan 21, 2016 9:27 pm
by devsh
nice
did you see my document about my Buffer-Centric irrlicht fork?
Re: Render to Texture performance
Posted: Fri Jan 22, 2016 12:10 am
by The_Glitch
Negative sir the problem is only solved if you use the trunk.
Re: Render to Texture performance
Posted: Fri Jan 22, 2016 1:05 pm
by devsh
01-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.
Getting these beauties from KHR_debug and Intel Driver
Re: Render to Texture performance
Posted: Fri Jan 22, 2016 6:59 pm
by Nadro
The_Glitch wrote:Negative sir the problem is only solved if you use the trunk.
Trunk -> current state of Irrlicht development, so it's solved.
@devsh
devsh wrote:did you see my document about my Buffer-Centric irrlicht fork?
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:
Code: Select all
if (FrameBufferID != frameBufferID)
{
Driver->irrGlBindFramebuffer(GL_FRAMEBUFFER, frameBufferID);
FrameBufferID = frameBufferID;
}
Re: Render to Texture performance
Posted: Fri Jan 22, 2016 9:24 pm
by devsh
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
Re: Render to Texture performance
Posted: Mon Feb 15, 2016 10:52 pm
by devsh
I hope you dont call glDrawBuffer(s) on every setRenderTarget call
Re: Render to Texture performance
Posted: Wed Feb 17, 2016 9:16 pm
by Nadro
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.
Re: Render to Texture performance
Posted: Thu Feb 18, 2016 3:43 pm
by devsh
I use no-cache, just DSA