- Joined
- Jan 21, 2006
- Messages
- 2,552
The problem:
In the downloadable demo map provided, there seems to be a problem. In the map there is a folder named "Game" in the map triggers. There is a trigger in that folder named "Init". In the main initialization function I create 150 "objects" which fly around with various velocities and bounce of predefined lines.
When I run the exact same demo map as the one provided everything seems to execute properly. There are no objects that get through any of the lines (which form a square) and the motion of the objects appears smooth. The system I run this on is fairly good, so you may need to decrease the value of 150 to experience this.
When I increase the number 150 to 151 something seems to happen that causes some of the detections to be ignored, as well as the motion of some of the particles (choppy rather than smooth). Some of the objects wouldn't even move from their starting position.
This made me think that I was using too many vector objects, as there are 3 in the main object struct. This is the only struct that uses the vector struct, as the others use a point struct. But at only 150 objects (each with 3 vectors) I've only got 450 vectors, which is no where near the limit.
Can anybody spot the problem?
Edit//
It seems that if I release the objects over a duration (rather than having them bounce off the wall within a very small time frame) they do not seem to go through the lines. This draws me to think that at some points I am running into thread operation limits (which would explain the detections being ignored). Once I bump up the number (before it was 150) to about 180 some of my objects stop in their tracks (which is what would happen if the thread was crashing). I really don't think I have that many actions running in a single loop...
Let's see... 180 objects with 4 lines means we're going to have to go through 180 objects 4 times. This seems incredibly inefficient, but would 760 iterations really trigger an OP limit? Does anybody know what the OP limit is?
In the downloadable demo map provided, there seems to be a problem. In the map there is a folder named "Game" in the map triggers. There is a trigger in that folder named "Init". In the main initialization function I create 150 "objects" which fly around with various velocities and bounce of predefined lines.
When I run the exact same demo map as the one provided everything seems to execute properly. There are no objects that get through any of the lines (which form a square) and the motion of the objects appears smooth. The system I run this on is fairly good, so you may need to decrease the value of 150 to experience this.
When I increase the number 150 to 151 something seems to happen that causes some of the detections to be ignored, as well as the motion of some of the particles (choppy rather than smooth). Some of the objects wouldn't even move from their starting position.
This made me think that I was using too many vector objects, as there are 3 in the main object struct. This is the only struct that uses the vector struct, as the others use a point struct. But at only 150 objects (each with 3 vectors) I've only got 450 vectors, which is no where near the limit.
Can anybody spot the problem?
Edit//
It seems that if I release the objects over a duration (rather than having them bounce off the wall within a very small time frame) they do not seem to go through the lines. This draws me to think that at some points I am running into thread operation limits (which would explain the detections being ignored). Once I bump up the number (before it was 150) to about 180 some of my objects stop in their tracks (which is what would happen if the thread was crashing). I really don't think I have that many actions running in a single loop...
Let's see... 180 objects with 4 lines means we're going to have to go through 180 objects 4 times. This seems incredibly inefficient, but would 760 iterations really trigger an OP limit? Does anybody know what the OP limit is?
Attachments
Last edited: