Any systems using a thread runs REALLY slow. I guess this isn't really a bug, but still an issue. Even a simple gametime counter isn't accurate. Code to test? Well, Run this as a thread:
While(true)
{
intCount += 1;
cnvSystem = CreateCanvas(140,80);
colorrgb(255,255,255);
fillRect(0,0,140,80,cnvSystem);
colorrgb(5,5,5);
drawRect(0,0,139,79,cnvSystem);
pixelText(10,34,"iC:<intCount>",cnvSystem);
drawCanvas(cnvSystem,0,0,140,80, cnvRenderNow);
killCanvas(cngSystem);
}
This should run darn fast, but I'm getting maybe 2 number increases per second. I would expect at least 10-20 on a semi-slow system. This makes it impossible for any decent onboard activities.
**Note, this was not tested in a board thread system, but the thread was started through my startup prg. Either which way, it needs to be fixed.
Logged In: YES
user_id=1099179
Originator: NO
It might run a bit faster if you didn't create and destroy your canvas every iteration. Additionally, only a set number of program 'units' are evaluated each render frame, in inverse proportion to the fps. Execute too many units each frame and the fps will suffer. So reduce the number of units required by moving all the non-essential stuff out of the loop - like canvas creation, colour switching and rectangle drawing.
Logged In: NO
I can understand what you are saying, but even simple tasks such as updating the rendernow to have a new time instead of the last gametime, takes a bit longer then it should. (this is Caliber Mengsk btw) This issue of slow threading may not affect everyone, as a gametime isn't all that important, but I've been trying to create a realtime battle system, and I may as well use 3.0.6 for it, as it doesn't work at all if it can't check the player and enemy position against the player but every 3-4 seconds.
If there is any way to increase the speed of thread parsing, that's the entire reason I was waiting for 3.1.