Alrighty..i dont like "making due" when the power is RiGhT there.
However, i dont really have a choice.
Ive come to terms with this project and will have to split it up.
As moru suggested, run a host in a terminal, and i did with success.
It even runs in a terminal on linux.linux compile, perfect for a host.
So i set it up on an OLD(7 or 8 years old now) ibm compatible pc using linux mint 17 mate, 32 bit OS.
Now i need to setup a viewer, should be easy, its mostly done as it were.
Unfortunetly i tried everything i can think of and cant nail down this memory leak.
BTW i did have this leak in linux too...so its either opengl itself, or perhaps the internal structure of a glbasic command.
Furthermore, i will be continuing to test this problem with new software that im planning on.
I am very patient and will sniff it out like a blood hound, woof.
I brainstormed up a new function to work with console/terminal windows, i named it _GETTIMER()
Which allows for a timer to work the same way as GETTIMER() where is reports the milliseconds per frame.
Without showscreen, it even works in linux compiles...and its purely glbasic code.
I added this to the next update for SVSAPI, which is a function inside the lib_terminal_object_ module.
If you want to be techinical like this, just return PassesPerSecond instead to recieve fps instead.
Just call this function at the end of a main loop or something and stdout the output to see the frametime, note, not fps:
FUNCTION _GETTIMER:
//GETTIMER() returns frametime in ms.
// this doesnt work in a console\terminal because it is depandant on SHOWSCREEN.
//...SO we make one from system time, to be used in a looping routine, in a console.
// In a way, this function essentially replaces GETTIMER() and eliminates the need for SHOWSCREEN.
// One thing to note....it only updates one time per second. However, the response seems to be very accurate.
// SLEEP can be used along with this function, just dont sleep longer than >= one second.
// You can run a console at 10fps by SLEEP 100, and you can prove it with this function.
// There will be fluxuations in the response, and that will be due to your own code causing delays on the memory and/or the cpu.
STATIC PassesPerSecond%, Passes%
STATIC TimeOfLastPass$, TimeOfThisPass$
INC Passes, 1
TimeOfLastPass$ = TimeOfThisPass$
TimeOfThisPass$ = self.TIME_._Get_Seconds$()
IF TimeOfLastPass$ <> TimeOfThisPass$ //detects a new second from the system.
PassesPerSecond = Passes
Passes = 0
ENDIF
self.FrameTime = (1000/PassesPerSecond )
RETURN self.FrameTime
ENDFUNCTION