Hi to all, i need your feedback for a little test (see attachements)
I progress with the "new GLScene" but i have poor performance. So i made a little sample with the current GLScene for see. A simple rotated cube.
Can you try the sample attached project with and without roForwardContext enabled in the GLSceneViewer.Buffer.
For me with current GLScene when ForwardContext is enabled nothing display. (it's normal because we can't used deprecated opengl functions)
And can you report me if the fps decrease radicaly with forwardcontext enabled on you pc.
See the attached screenshoots for me. Look at the FPS
Thanks in advance your feeback will help me to find if the GLContext have a bug with forwardContext
Jerome,
I've tested your test on my nVidia GT 630M card.
The roForwardContext = False gives 650FPS about almost the same value as for True with 630FPS at start, but then the both very gradually are decreasing to 500FPS during 10 min and may be lesser in more long times. Yes, it's obviously there is a bug somewhere here.
PW
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
With roContextForward= True cube is not appear frames about 1080~1100 about a minute no drop...
With roContextForward= False cube is visible and frames about 980~1040 about a minute no drop..
Thank you...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks azrael, thanks Pavel hum , it's a mistake a rewrite GLWin32Context and try to find what it can be decrease FPS but no clue. Can you try this little app and tell me if you see something wrong in the file log generated and give me you FPS.
Azrael what your Windows OS Version ?
PS I'm on Windows 10 and a Nvidia GT 7300
On my pc the app freeze afterless than 1 minutes
If some other can test with ATI Card it will be nice too :)
Arf Damn, so you're first test is normal ForwardContext is not enable
With minimal do you have error message appear. Can you show me the log please
Buy another card :) i bought mine for 115euros 1 month ago, but i'd very like to have an NVidia Quadro ;) bu not the same price
Last edit: Jerome.D (BeanzMaster) 2016-01-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, i had a little time today (all the day :) ) After rewriting again the procedure for create context. The problem is not here. It's seem to have two performance leak one provide from the GLCadencer and the other from how TGLSceneBuffer render the scene. I've made some little improving in code and i began some test.
* with just a black screen no objects cadencer enabled FPS = 60-70
* with just a black screen without cadencer FPS = 600 (better but not enought for black screen)
* with my rotating cube and cadencer enabled FPS = 15 - 20
* with my rotating cube without cadencer FPS = 40-60
So it really seems something is not optimizing in the pipeline i think it provide from TGLBaseSceneObject / TGLSceneBuffer mechanism some code seem not necessery with Forward context and this is the cause decreasing performances. Now i must find what and where..
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi to all finally i find what the f****k it was the LOGGER the thread mechanism of GLSLog take all the ressources so now i have a correct FPS with my Cube and OpenGL Forward Context around 800-1000 fps it's better :)
Ha, now I remember that several years ago someone has bumped with the same slowing down thing in his app. Then I switch off the default use of logging in glscene.inc. To log code now may be useful also the CodeInsight in Rad Studio
PW
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Damn :)
Yes i take look at the GLSLog some procedure provide of an excellent logger i used some year ago "HotLog" this have a better thread mechanism but is a little difficult to port on Linux and Mac due to the thread mechanism. I've made a version for lazarus some year ago for my own purpose but only work on windows. So perhaps we can find a better solutions. I'll see if i can find the original source code of HotLog. Because Logging is verry helpfull during the process
Last edit: Jerome.D (BeanzMaster) 2016-01-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi to all, i need your feedback for a little test (see attachements)
I progress with the "new GLScene" but i have poor performance. So i made a little sample with the current GLScene for see. A simple rotated cube.
Can you try the sample attached project with and without roForwardContext enabled in the GLSceneViewer.Buffer.
For me with current GLScene when ForwardContext is enabled nothing display. (it's normal because we can't used deprecated opengl functions)
And can you report me if the fps decrease radicaly with forwardcontext enabled on you pc.
See the attached screenshoots for me. Look at the FPS
Thanks in advance your feeback will help me to find if the GLContext have a bug with forwardContext
Best regards
Last edit: Jerome.D (BeanzMaster) 2016-01-12
Hi, Jerome
I'll look at your test tomorrow, because now I not have access to my comp, only ipad.
PW
Jerome,
I've tested your test on my nVidia GT 630M card.
The roForwardContext = False gives 650FPS about almost the same value as for True with 630FPS at start, but then the both very gradually are decreasing to 500FPS during 10 min and may be lesser in more long times. Yes, it's obviously there is a bug somewhere here.
PW
Jerome I compile it in Delphi 7 here is the results
Machine : CPU E2180 dual core
: GPU nVidia GeForce 8400 GS
With roContextForward= True cube is not appear frames about 1080~1100 about a minute no drop...
With roContextForward= False cube is visible and frames about 980~1040 about a minute no drop..
Thank you...
Thanks azrael, thanks Pavel hum , it's a mistake a rewrite GLWin32Context and try to find what it can be decrease FPS but no clue. Can you try this little app and tell me if you see something wrong in the file log generated and give me you FPS.
Azrael what your Windows OS Version ?
PS I'm on Windows 10 and a Nvidia GT 7300
On my pc the app freeze afterless than 1 minutes
If some other can test with ATI Card it will be nice too :)
Jerome...
I Use Windows 7 pro
And the minimal don't start.. bcs my card don't support 3.3 opengl ;( to old...
Thank you
Arf Damn, so you're first test is normal ForwardContext is not enable
With minimal do you have error message appear. Can you show me the log please
Buy another card :) i bought mine for 115euros 1 month ago, but i'd very like to have an NVidia Quadro ;) bu not the same price
Last edit: Jerome.D (BeanzMaster) 2016-01-13
Jerome,
With my Win10 on nVidia Geforce GT 630M I have only 3FPS and log file attached.
PW
Hi, i had a little time today (all the day :) ) After rewriting again the procedure for create context. The problem is not here. It's seem to have two performance leak one provide from the GLCadencer and the other from how TGLSceneBuffer render the scene. I've made some little improving in code and i began some test.
* with just a black screen no objects cadencer enabled FPS = 60-70
* with just a black screen without cadencer FPS = 600 (better but not enought for black screen)
* with my rotating cube and cadencer enabled FPS = 15 - 20
* with my rotating cube without cadencer FPS = 40-60
So it really seems something is not optimizing in the pipeline i think it provide from TGLBaseSceneObject / TGLSceneBuffer mechanism some code seem not necessery with Forward context and this is the cause decreasing performances. Now i must find what and where..
Hi to all finally i find what the f****k it was the LOGGER the thread mechanism of GLSLog take all the ressources so now i have a correct FPS with my Cube and OpenGL Forward Context around 800-1000 fps it's better :)
PS : For tracking bugs memory leaks i use MadExcept http://madshi.net and for test and profiling i use Spider http://dbg-spider.net
So now i can continue my researches in a proper condition
Ha, now I remember that several years ago someone has bumped with the same slowing down thing in his app. Then I switch off the default use of logging in glscene.inc. To log code now may be useful also the CodeInsight in Rad Studio
PW
Damn :)
Yes i take look at the GLSLog some procedure provide of an excellent logger i used some year ago "HotLog" this have a better thread mechanism but is a little difficult to port on Linux and Mac due to the thread mechanism. I've made a version for lazarus some year ago for my own purpose but only work on windows. So perhaps we can find a better solutions. I'll see if i can find the original source code of HotLog. Because Logging is verry helpfull during the process
Last edit: Jerome.D (BeanzMaster) 2016-01-15