Spoiler: Lots of console messagesThat's only a fraction of it. Just a few seconds of play spammed so much to the console that this forum would not accept it as it had almost twice the maximum character per post limit!Code: Select all
]puke 1 Updating plane 0 of sector 248 Updating plane 0 of sector 247 Updating plane 0 of sector 246 Updating plane 0 of sector 245 Updating plane 0 of sector 244 Updating plane 0 of sector 243 Updating plane 0 of sector 242 Updating plane 0 of sector 241 Updating plane 0 of sector 240 Updating plane 0 of sector 239 Updating plane 0 of sector 238 Updating plane 0 of sector 237 Updating plane 0 of sector 236 Updating plane 0 of sector 235 Updating plane 0 of sector 234 Updating plane 0 of sector 233 Updating plane 0 of sector 232 Updating plane 0 of sector 231 Updating plane 0 of sector 230 Updating plane 0 of sector 229 Updating plane 0 of sector 228 Updating plane 0 of sector 227 Updating plane 0 of sector 226 Updating plane 0 of sector 225 Updating plane 0 of sector 224 Updating plane 0 of sector 223 Updating plane 0 of sector 222 Updating plane 0 of sector 221 Updating plane 0 of sector 220 Updating plane 0 of sector 219 Updating plane 0 of sector 218 Updating plane 0 of sector 217 Updating plane 0 of sector 216 Updating plane 0 of sector 215 Updating plane 0 of sector 214 Updating plane 0 of sector 213 Updating plane 0 of sector 212 Updating plane 0 of sector 211 Updating plane 0 of sector 210 Updating plane 0 of sector 209 Updating plane 0 of sector 208 Updating plane 0 of sector 207 Updating plane 0 of sector 206 Updating plane 0 of sector 205 Updating plane 0 of sector 204 Updating plane 0 of sector 203 Updating plane 0 of sector 202 Updating plane 0 of sector 201 Updating plane 0 of sector 200 Updating plane 0 of sector 199 Updating plane 0 of sector 198 Updating plane 0 of sector 197 Updating plane 0 of sector 196 Updating plane 0 of sector 195 Updating plane 0 of sector 194 Updating plane 0 of sector 193 Updating plane 0 of sector 192 Updating plane 0 of sector 191 Updating plane 0 of sector 190 Updating plane 0 of sector 189 Updating plane 0 of sector 188 Updating plane 0 of sector 187 Updating plane 0 of sector 186 Updating plane 0 of sector 185 Updating plane 0 of sector 184 Updating plane 0 of sector 183 Updating plane 0 of sector 182 Updating plane 0 of sector 181 Updating plane 0 of sector 180 Updating plane 0 of sector 179 Updating plane 0 of sector 178 Updating plane 0 of sector 177 Updating plane 0 of sector 176 Updating plane 0 of sector 175 Updating plane 0 of sector 174 Updating plane 0 of sector 173 Updating plane 0 of sector 172 Updating plane 0 of sector 171 Updating plane 0 of sector 170 Updating plane 0 of sector 169 Updating plane 0 of sector 168 Updating plane 0 of sector 167 Updating plane 0 of sector 166 Updating plane 0 of sector 165 Updating plane 0 of sector 164 Updating plane 0 of sector 163 Updating plane 0 of sector 162 Updating plane 0 of sector 161 Updating plane 0 of sector 160 Updating plane 0 of sector 159 Updating plane 0 of sector 158 Updating plane 0 of sector 157 Updating plane 0 of sector 156 Updating plane 0 of sector 155 Updating plane 0 of sector 154 Updating plane 0 of sector 153 Updating plane 0 of sector 152 Updating plane 0 of sector 151 Updating plane 0 of sector 150 Updating plane 0 of sector 149 Updating plane 0 of sector 148 Updating plane 0 of sector 147 Updating plane 0 of sector 146 Updating plane 0 of sector 145 Updating plane 0 of sector 144 Updating plane 0 of sector 143 Updating plane 0 of sector 142 Updating plane 0 of sector 141 Updating plane 0 of sector 140 Updating plane 0 of sector 139 Updating plane 0 of sector 138 Updating plane 0 of sector 137 Updating plane 0 of sector 136 Updating plane 0 of sector 135 Updating plane 0 of sector 134 Updating plane 0 of sector 260 Updating plane 0 of sector 259 Updating plane 0 of sector 258 Updating plane 0 of sector 257 Updating plane 0 of sector 256 Updating plane 0 of sector 255 Updating plane 0 of sector 254 Updating plane 0 of sector 253 Updating plane 0 of sector 252 Updating plane 0 of sector 251 Updating plane 0 of sector 250 Updating plane 0 of sector 249 Updating plane 0 of sector 248 Updating plane 0 of sector 247 Updating plane 0 of sector 246 Updating plane 0 of sector 245 Updating plane 0 of sector 244 Updating plane 0 of sector 243 Updating plane 0 of sector 242 Updating plane 0 of sector 241 Updating plane 0 of sector 240 Updating plane 0 of sector 239 Updating plane 0 of sector 238 Updating plane 0 of sector 237 Updating plane 0 of sector 236 Updating plane 0 of sector 235 Updating plane 0 of sector 234 Updating plane 0 of sector 233 Updating plane 0 of sector 232 Updating plane 0 of sector 231 Updating plane 0 of sector 230 Updating plane 0 of sector 229 Updating plane 0 of sector 228 Updating plane 0 of sector 227 Updating plane 0 of sector 226 Updating plane 0 of sector 225 Updating plane 0 of sector 224 Updating plane 0 of sector 223 Updating plane 0 of sector 222 Updating plane 0 of sector 221 Updating plane 0 of sector 220 Updating plane 0 of sector 219 Updating plane 0 of sector 218 Updating plane 0 of sector 217 Updating plane 0 of sector 216 Updating plane 0 of sector 215 Updating plane 0 of sector 214 Updating plane 0 of sector 213 Updating plane 0 of sector 212 Updating plane 0 of sector 211 Updating plane 0 of sector 210 Updating plane 0 of sector 209 Updating plane 0 of sector 208 Updating plane 0 of sector 207 Updating plane 0 of sector 206 Updating plane 0 of sector 205 Updating plane 0 of sector 204 Updating plane 0 of sector 203 Updating plane 0 of sector 202 Updating plane 0 of sector 201 Updating plane 0 of sector 200 Updating plane 0 of sector 199 Updating plane 0 of sector 198 Updating plane 0 of sector 197 Updating plane 0 of sector 196 Updating plane 0 of sector 195 Updating plane 0 of sector 194 Updating plane 0 of sector 193 Updating plane 0 of sector 192 Updating plane 0 of sector 191 Updating plane 0 of sector 190 Updating plane 0 of sector 189 Updating plane 0 of sector 188 Updating plane 0 of sector 187 Updating plane 0 of sector 186 Updating plane 0 of sector 185 Updating plane 0 of sector 184 Updating plane 0 of sector 183 Updating plane 0 of sector 182 Updating plane 0 of sector 181 Updating plane 0 of sector 180 Updating plane 0 of sector 179 Updating plane 0 of sector 178 Updating plane 0 of sector 177 Updating plane 0 of sector 176 Updating plane 0 of sector 175 Updating plane 0 of sector 174 Updating plane 0 of sector 173 Updating plane 0 of sector 172 Updating plane 0 of sector 171 Updating plane 0 of sector 170 Updating plane 0 of sector 169 Updating plane 0 of sector 168 Updating plane 0 of sector 167 Updating plane 0 of sector 166 Updating plane 0 of sector 165 Updating plane 0 of sector 164 Updating plane 0 of sector 163 Updating plane 0 of sector 162 Updating plane 0 of sector 161 Updating plane 0 of sector 160 Updating plane 0 of sector 159 Updating plane 0 of sector 158 Updating plane 0 of sector 157 Updating plane 0 of sector 156 Updating plane 0 of sector 155 Updating plane 0 of sector 154
r465 Massive slowdown with multiple moving floors
Moderator: Graf Zahl
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
r465 Massive slowdown with multiple moving floors
Try the attached sample file. It should load just fine. Then puke script 1 and, if it happens like it does on my machine, the game will slow to a <1fps crawl and log multiple messages at the console.
Spoiler: Lots of console messagesThat's only a fraction of it. Just a few seconds of play spammed so much to the console that this forum would not accept it as it had almost twice the maximum character per post limit!
- Attachments
-
- steppy.zip
- (25.33 KiB) Downloaded 60 times
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
Re: r465 Massive slowdown with multiple moving floors
Damn, Looks like I forgot to remove that debugging message.
Please retry. I'd really like to know how this code behaves in such a situation for real.
Please retry. I'd really like to know how this code behaves in such a situation for real.
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Re: r465 Massive slowdown with multiple moving floors
OK, the massive slowdown has gone - obviously it was due to the console messages. In the full version of this map the new code has a very slight negative impact on my machine.
r461 348fps
r466 338fps
Both readings were taken in exactly the same spot whilst facing the same angle etc (the P1 start in the map).
Interestingly, I noticed in the test map that with the script not activated, I was getting a fps value of around 590-600 but when I activated the script and the floors started moving, I got an increased fps value of around 680. I'm sure that there is a good reason for it, but I would have expected the fps to slow down, not speed up when the script was activated.
However, I get a similar pattern with the older code. With r461 and the test map, I got 640-60 fps with the script not running and around 760-780 with it running. So, again, the older code gave me better fps values.
r461 348fps
r466 338fps
Both readings were taken in exactly the same spot whilst facing the same angle etc (the P1 start in the map).
Interestingly, I noticed in the test map that with the script not activated, I was getting a fps value of around 590-600 but when I activated the script and the floors started moving, I got an increased fps value of around 680. I'm sure that there is a good reason for it, but I would have expected the fps to slow down, not speed up when the script was activated.
However, I get a similar pattern with the older code. With r461 and the test map, I got 640-60 fps with the script not running and around 760-780 with it running. So, again, the older code gave me better fps values.
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
Re: r465 Massive slowdown with multiple moving floors
With such ridiculously high fps rates even the slightest increase in code execution can cause some differences.
I added some code that checks the sector heights each frame to update the VBO. Obviously they add a small amount of execution time. The FPS differences you list amount to 0.1 to 0.18 ms and this seems to be the cause.
The differences between moving and non-moving sectors are much more interesting though. They would mean that using VBOs is actually slower than using immediate mode (quite contrary to everything OpenGL manuals tell you...
)
EDIT: Just made a quick test myself. On my GF 8600 using VBOs is marginally faster than using immediate mode - but certainly not what the experts claim it would.
I added some code that checks the sector heights each frame to update the VBO. Obviously they add a small amount of execution time. The FPS differences you list amount to 0.1 to 0.18 ms and this seems to be the cause.
The differences between moving and non-moving sectors are much more interesting though. They would mean that using VBOs is actually slower than using immediate mode (quite contrary to everything OpenGL manuals tell you...

EDIT: Just made a quick test myself. On my GF 8600 using VBOs is marginally faster than using immediate mode - but certainly not what the experts claim it would.