MicroDoc stress test level
by Simon Jensen · in Torque Game Builder · 11/15/2007 (10:50 am) · 14 replies
Hija everybody,
Update: Dec 15
I've done some tweaking and adjusting and performance seems to have improved.
Additionally, I've got the blood flow working and updated a bunch of the graphics, fullscreen/widescreen support.
It's starting to feel definitely game-like.
New TGB 1.6 versions are available here:
www.swiftthought.com/junk/MicroDoc.zip (pc ~4.5mb)
www.swiftthought.com/junk/MicroDoc-mac.zip (mac ~4.6mb)
Comments and feedback more than welcome.
-Simon
----- old post------
I've been working on getting all the parts for my game up and running and finally have the major systems in place so now I'm trying to figure out how far I can push the engine.
I have released a small single level stress test to help me determine a maximum number of blood cells to be able to put in my game levels. I'd really appreciate some people taking a look.
If you want to check it out you can download it here:
www.swiftthought.com/junk/MicroDoc.zip (pc ~2mb)
www.swiftthought.com/junk/MicroDoc-mac.zip (mac ~3.7mb)
Just press x to spawn more blood cells.
And if you want to play around just click the mouse button to launch the pillship and use the arrow keys to move about and mouse to shoot.
Please send me an e-mail with how many blood cells you had spawned before the game ran at a consistent frame rate in the high 30s and any system specs you know off the top of your head.
Just send an e-mail to stress(AT)swiftthought.com or just reply to this thread.
-Simon
Update: Dec 15
I've done some tweaking and adjusting and performance seems to have improved.
Additionally, I've got the blood flow working and updated a bunch of the graphics, fullscreen/widescreen support.
It's starting to feel definitely game-like.
New TGB 1.6 versions are available here:
www.swiftthought.com/junk/MicroDoc.zip (pc ~4.5mb)
www.swiftthought.com/junk/MicroDoc-mac.zip (mac ~4.6mb)
Comments and feedback more than welcome.
-Simon
----- old post------
I've been working on getting all the parts for my game up and running and finally have the major systems in place so now I'm trying to figure out how far I can push the engine.
I have released a small single level stress test to help me determine a maximum number of blood cells to be able to put in my game levels. I'd really appreciate some people taking a look.
If you want to check it out you can download it here:
www.swiftthought.com/junk/MicroDoc.zip (pc ~2mb)
www.swiftthought.com/junk/MicroDoc-mac.zip (mac ~3.7mb)
Just press x to spawn more blood cells.
And if you want to play around just click the mouse button to launch the pillship and use the arrow keys to move about and mouse to shoot.
Please send me an e-mail with how many blood cells you had spawned before the game ran at a consistent frame rate in the high 30s and any system specs you know off the top of your head.
Just send an e-mail to stress(AT)swiftthought.com or just reply to this thread.
-Simon
#2
I tried it several times and it is a bit difficult to judge because, as Shawn mentioned, all of a sudden I get a drastic drop in framerate. I thought it had to do with the particle effects, too, but it only seems to happen the initial time. After the framerate drop, things pick back up and I can watch the blue things and the particle effect on screen without seeing any drop.
In the end, I wasn't really sure how many blood cells I had on the screen since they turned into those blue things which appear to have less effect on FPS.
Here are some rough numbers:
Before the slowdown:
200 blood cells - 200 FPS
300 blood cells - 150 FPS
After a slowdown:
300 blood cells settled down to around 80 FPS.
Increased to 500:
Slowed down to around 40 FPS.
Eventually, I just had blue things floating around with FPS in the upper 100's.
I tried several more tests of just quickly spawning a whole bunch of blood cells. By the time I reached 600, my computer would be at a crawl. 500 seemed to be the breaking point where I was hovering around the low to mid 30's. But after typing this, I'm at my last run of 500 and now I'm down to 10 FPS.
I really like that particle effect. I noticed my heart monitor was sometimes going red when those blue things were attacking and taking over.
11/15/2007 (6:54 pm)
2.2 GHz Dual Core, 2 GB RAM, NVIDIA 8600M GT w/DDR2 (some of the 8600M GT's come with DDR3).I tried it several times and it is a bit difficult to judge because, as Shawn mentioned, all of a sudden I get a drastic drop in framerate. I thought it had to do with the particle effects, too, but it only seems to happen the initial time. After the framerate drop, things pick back up and I can watch the blue things and the particle effect on screen without seeing any drop.
In the end, I wasn't really sure how many blood cells I had on the screen since they turned into those blue things which appear to have less effect on FPS.
Here are some rough numbers:
Before the slowdown:
200 blood cells - 200 FPS
300 blood cells - 150 FPS
After a slowdown:
300 blood cells settled down to around 80 FPS.
Increased to 500:
Slowed down to around 40 FPS.
Eventually, I just had blue things floating around with FPS in the upper 100's.
I tried several more tests of just quickly spawning a whole bunch of blood cells. By the time I reached 600, my computer would be at a crawl. 500 seemed to be the breaking point where I was hovering around the low to mid 30's. But after typing this, I'm at my last run of 500 and now I'm down to 10 FPS.
I really like that particle effect. I noticed my heart monitor was sometimes going red when those blue things were attacking and taking over.
#3
I'm interested to see this game when you're done, keep us posted!
SPECS:
Windows XP
2.4 ghz Pentium 4 processor
2 gigs of ram
NVIDIA Geforce fx 5500 (mid range 256mb)
My fps was pretty steady till I got around 200, then it dropped to low 30's range, though there were some blood cells that got spawned in a tilemap and were going collision crazy. That definitely didn't help FPS at all.
11/17/2007 (6:18 pm)
Hey Simon!I'm interested to see this game when you're done, keep us posted!
SPECS:
Windows XP
2.4 ghz Pentium 4 processor
2 gigs of ram
NVIDIA Geforce fx 5500 (mid range 256mb)
My fps was pretty steady till I got around 200, then it dropped to low 30's range, though there were some blood cells that got spawned in a tilemap and were going collision crazy. That definitely didn't help FPS at all.
#4
Laptop:
Win XP, SP2
Pentium M 1.6 GHz
512 MB RAM
Integrated Intel Graphics
FPS: 30fps around 200 blood cells.
iMac (Added 3:30 PM):
OSX 10.4.11
Intel Core 2 Duo 2.33 GHz
3 GB RAM
ATI Radeon X1600 256 MB
FPS: 30fps around 1,000 blood cells, became very unstable at 1,200, averaging 1.5fps.
PC Desktop (Added 5:40 PM):
Win XP, SP2
Pentium 4 2.0 GHz
1024 MB RAM
nVidia GeForce 6800 GS 256 MB (AGP)
FPS: 30fps around 200 blood cells, became very unstable at 240 blood cells, averaging 2.0fps.
11/18/2007 (11:36 am)
I'll test it out on all three of my computers, as I get on them today. The first test was on a laptop, and it performed pretty well at 30fps when I hit 200 blood cells. I'll edit this thread when I get on my PC desktop and iMac. Good luck with your game.Laptop:
Win XP, SP2
Pentium M 1.6 GHz
512 MB RAM
Integrated Intel Graphics
FPS: 30fps around 200 blood cells.
iMac (Added 3:30 PM):
OSX 10.4.11
Intel Core 2 Duo 2.33 GHz
3 GB RAM
ATI Radeon X1600 256 MB
FPS: 30fps around 1,000 blood cells, became very unstable at 1,200, averaging 1.5fps.
PC Desktop (Added 5:40 PM):
Win XP, SP2
Pentium 4 2.0 GHz
1024 MB RAM
nVidia GeForce 6800 GS 256 MB (AGP)
FPS: 30fps around 200 blood cells, became very unstable at 240 blood cells, averaging 2.0fps.
#5
http://www.youtube.com/watch?v=APtvts8fpEs
Your blood cells look a lot nicer though!
ps, my computer can draw around 300 cells in your game and still have over 100fps, but the framerate drops significantly during the cell adding, and it is below 10fps with the player spawned.
Nvidia Geforce 6600 GT, 128Mb vram.
11/18/2007 (4:19 pm)
Cool idea, I'm working on something similar myself:http://www.youtube.com/watch?v=APtvts8fpEs
Your blood cells look a lot nicer though!
ps, my computer can draw around 300 cells in your game and still have over 100fps, but the framerate drops significantly during the cell adding, and it is below 10fps with the player spawned.
Nvidia Geforce 6600 GT, 128Mb vram.
#6
You never cease to amaze me! That is a fantastic idea for a shooter in TGB. Nice use of physics with bumping into the cells. I can't wait to see where this goes.
11/18/2007 (5:29 pm)
Conor,You never cease to amaze me! That is a fantastic idea for a shooter in TGB. Nice use of physics with bumping into the cells. I can't wait to see where this goes.
#7
11/18/2007 (5:40 pm)
I don't mean to hijack Simon's thread by the way, his game is different to mine.
#8
11/18/2007 (5:49 pm)
I was just trying to be encouraging, but I should have handled it differently. I apologize to both of you, Simon and Conor.
#9
Thanks for the feedback connor, and your bloodstream looks cool, very actiony. It's interesting how different our take on the same subject matter.
I'm still trying to settle in on a graphic style.
Right now I've been working trying to see if I can make things look like its viewed through a scanning electron microscope and I'm pretty happy with it.
That's a photoshop mockup with some rendered sprites. (still working on background tiles)
11/18/2007 (10:27 pm)
Don't worry about it Kevin, Its all good.Thanks for the feedback connor, and your bloodstream looks cool, very actiony. It's interesting how different our take on the same subject matter.
I'm still trying to settle in on a graphic style.
Right now I've been working trying to see if I can make things look like its viewed through a scanning electron microscope and I'm pretty happy with it.
That's a photoshop mockup with some rendered sprites. (still working on background tiles)
#10
2.66 intel core 2 duo underclocked
2 gb ram
ATI x1900 mobility radeon
Vista up to date
Peter, I doubt you were getting 1k with those stats. Explain? :)
12/07/2007 (1:31 pm)
With 500 bloodcells, I was getting 40 fps avg.2.66 intel core 2 duo underclocked
2 gb ram
ATI x1900 mobility radeon
Vista up to date
Peter, I doubt you were getting 1k with those stats. Explain? :)
#11
Pardon my late reply -- I haven't been on in a while.
I was getting 30 fps at 1,000 on the iMac, but things went south once I reached 1,200. Maybe I didn't stay at 1,000 long enough to really test it. I'll try again in the morning and edit this post with the results.
-Pete
12/25/2007 (11:47 pm)
Neill,Pardon my late reply -- I haven't been on in a while.
I was getting 30 fps at 1,000 on the iMac, but things went south once I reached 1,200. Maybe I didn't stay at 1,000 long enough to really test it. I'll try again in the morning and edit this post with the results.
-Pete
#12
I went from around 240 to 450 on my laptop and somewhere around 1400 on my desktop but the main killer at 1400 is the number of bincollisions because there isn't really room to hold many more cells at that point.
Click here for the newest version
12/27/2007 (8:47 am)
Well I released a newer version on Dec 15 containing a bunch of optimizations and other goodies so you'll probably get different results.I went from around 240 to 450 on my laptop and somewhere around 1400 on my desktop but the main killer at 1400 is the number of bincollisions because there isn't really room to hold many more cells at that point.
Click here for the newest version
#13
I've been hitting a wall with object counts in my own project - my fps goes drops from 60 to 20fps at around 150 enemy AIs. What were your optimizations? Were they generic or project specific?
12/27/2007 (11:21 am)
Simon,I've been hitting a wall with object counts in my own project - my fps goes drops from 60 to 20fps at around 150 enemy AIs. What were your optimizations? Were they generic or project specific?
#14
Well they were all pretty specific to making the blood flow more streamlined (pun intended).
Every second each blood cell calls a BloodFlowImpulse function which then gets which tile cell is currently in and the value (direction) of that tile. Then the function figures out what kind of impulse to apply to the cell, and some math to keep the speed below the global max speed so I dont wind up with cells moving at insane speeds.
The optimizations added a couple of variables to each cell allowing it to essentially cache information so i can skip large portions of the function or determine when not to run at all.
In specific I added a %myTile (the last tile the cell was in last time the function was called), a %myTileValue (allowing caching of the value of %myTile) and a %myTileImpulses (a counter that increments when the current tile matches the %myTile. This prevents a cell from getting rammed into a wall over and over again, after 10 impulses it just lets the cell bounce out of the tile pointing at the wall.) to each cell.
12/27/2007 (12:18 pm)
Patrick,Well they were all pretty specific to making the blood flow more streamlined (pun intended).
Every second each blood cell calls a BloodFlowImpulse function which then gets which tile cell is currently in and the value (direction) of that tile. Then the function figures out what kind of impulse to apply to the cell, and some math to keep the speed below the global max speed so I dont wind up with cells moving at insane speeds.
The optimizations added a couple of variables to each cell allowing it to essentially cache information so i can skip large portions of the function or determine when not to run at all.
In specific I added a %myTile (the last tile the cell was in last time the function was called), a %myTileValue (allowing caching of the value of %myTile) and a %myTileImpulses (a counter that increments when the current tile matches the %myTile. This prevents a cell from getting rammed into a wall over and over again, after 10 impulses it just lets the cell bounce out of the tile pointing at the wall.) to each cell.
Torque Owner Shawn Simas
Bigfoot Studios
Spawning 20 more would often drop the framerate by 100+ until they settled. When I hit 800, it dropped from 120 to 30, then back up to 100. About a second later it dropped down to 0-2fps and stabilized at that. I reran it a few times, and it drops down to super slow frame rates as soon as the little blue baddies start taking over and the particle effects start flying (even if it is happening offscreen)