Kleiner Benchmark
Übersicht

![]() |
TravisBetreff: Kleiner Benchmark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier habe ich ein Programm, dass ein kleines Partikelfeuer erzeugt. Das Programm läuft bei mir mit ca. 95-105 FPS.
AMD Sempron @ 2,3 Ghz, 512 MB RAM @ 400 Mhz Gf 6200, 256 MB @ standart frequency Wie sieht's bei euch aus? ----> HTTP://www.funforge.org/Public/Blitz/Particle.rar <---- (376 KB) |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
~200 Fps | ||
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
100-120fps
warum wird Memory immer grösser ? |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei 200-250 Partikeln ca. 22 FPS... :\ | ||
Nemesis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann das jetzt hier nicht testen, aber an alle die das testen: es wäre wohl sinnvoll eure system specs dazuzuschreiben ![]() |
||
gamble |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit einigem Kram im Hintergrund am laufen 150fps | ||
Daniel Knobe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei mir wird das Bild ienfach nur schwarz -_- lol | ||
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nemesis hat Folgendes geschrieben: kann das jetzt hier nicht testen, aber an alle die das testen: es wäre wohl sinnvoll eure system specs dazuzuschreiben
![]() Zumindest die verwendete Grafikkarte und die Prozessorgeschwindigkeit wären schon interessant. ![]() Wenn ich das Programm länger laufen lasse, dann pendelt es sich irgendwann bei 85 FPs mit 300 Partikeln ein. Das ist noch nicht so der Brüller, aber immerhin wird auch der ganze Bildbereich großzügig "bemalt". Wenn ich die Partikel kleiner mache, dann läuft es bei gleicher Anzahl deutlich schneller. ![]() |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
Justus |
![]() Antworten mit Zitat ![]() |
---|---|---|
AMD Athlon XP 3000+ und ATI Radeon 9600 SE.
35 FPS bei 300 Partikeln Memory steigt andauerd... |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibts da irgend ne Grenze gegen oben? Also die Partikel sind langsam angestiegen auf ca. 300, Speicher nimmt dauernd zu aber die FPS waren nach ner Weile immer konstant 200 und schwankten kein bisschen.
AMD Athlon 64 3200+ nVidia GeForce 6800 Ultra 1.5 Gb Ram PS: Weil ohne VSync bin ich mit BMax ohne etwas zu Zeichnen auf 13'800 FPS gekommen. Kann mir kaum vorstellen dass diese paar Partikel das ganze auf 200 drücken. |
||
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tja, entweder er entfernt die Partikel nicht mehr oder er hat Flushmem in der Hauptschleife vergessen. Für nen Benchmark sollte man sich doch einigermassen mit der Materie auskennen, da sonst ein verfälschter Eindruck entsteht.
Und wie wärs mit Code, so ne Riesendemo ist es ja auch wieder nicht. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab kurz was eigenes geschrieben und musste feststellen dass es schon sehr schnell die FPS beeinträchtigt. Hatte bei 300 Partikeln auch "nur" noch 1'400 FPS, aber ist doch schon besser als 200 FPS ![]() |
||
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist tatsächlich auf 200 FPS begrenzt. Hätte mir nicht träumen lassen, dass man die tatsächlich erreichen könnte.
Ich zeige euch mal den Code. Aber wie gesagt ist das noch eine erste Version, die man noch optimieren müsste. Was den Speicher angeht, so habe ich das Flushmem() nicht vergessen. Wäre dies der Fall würde der Speicherbedarf um ein Vielfaches schneller ansteigen! Diese Version ist übrigens schon leicht modifiziert worden (nur Parameter) BlitzBasic: [AUSKLAPPEN]
|
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem lag an deiner Handhabung mit dem Link.
Code: [AUSKLAPPEN] ' --- Particle Type ---- Type Particle Field image, x#, y#, sx#, sy#, r, g, b, alpha#, spin#, rotation, size#, maxsize#, refresh#, T1 'Field link Field Link:TLink Method Draw() w# = ImageWidth(Image) h# = ImageHeight(Image) width# = size# height# = size# SetColor(r,g,b) SetScale((width#/w#), (height#/h#)) SetAlpha(Alpha#) SetRotation(Rotation) DrawImage Image, x, y End Method Method Update() ' move particle x# = x# + sx# y# = y# + sy# ' resize particle If MilliSecs()-T1 > Refresh# Then T1 = MilliSecs() If Size# < MaxSize Then Size = Size + 1 EndIf ' set alpha Alpha# = 1 - (Size / MaxSize) 'rotate Rotation = Rotation + Spin If Rotation < 0 Then Rotation = 360 If Rotation > 360 Then Rotation = 0 'Delete If x > ResX Or y > ResY Or x < 0 Or y < 0 Then self.Link.Remove()'ParticleList.remove(Self) End Method End Type Global ParticleList:TList = New TList ' --- Particle Type ---- Global ResX = 1024 Global ResY = 768 Global CountParticles ' number of particles Graphics ResX, ResY, 32, 500 SetBlend ALPHABLEND SetBlend LIGHTBLEND ImageA = LoadImage("Particle.png") ' particle texture 1 HideMouse() ' ---- Hauptschleife ---- Repeat Cls If CountParticles > 300 Then Goto LeaveMainLoop If MilliSecs()-T1 > 0 Then T1 = MilliSecs() w = Rnd(360) PosX# = ResX/2 + Rnd(-10,10) PosY# = ResY/2 + Rnd(-10,10) SpeedX# = Cos(w)*Rnd(5) SpeedY# = Sin(w)*Rnd(5) r = Rnd(255,200) g = Rnd(150,100) b = Rnd(50,25) Alpha# = 1.0 Spin# = Rnd(-5,5) Size = 64 MaxSize = 196 Refresh = 10 CreateParticle(ImageA, PosX#, PosY#, SpeedX#, SpeedY#, r, g, b, Alpha#, Spin, Size, MaxSize, Refresh) EndIf #leavemainloop SetScale 1,1 SetColor 200,200,200 DrawText("FPS: " + FPS(), 0, 0) DrawText("Particles: " + CountParticles, 0, 10) DrawText("Memory: " + MemAlloced()/1024 + " KB", 0, 20) CountParticles = 0 For p:particle = EachIn ParticleList CountParticles = CountParticles + 1 p.draw() p.update() Next FlushMem() Flip Until KeyHit(KEY_ESCAPE) End ' ---- Hauptschleife ---- ' ---- Create Particle ---- Function CreateParticle(image, x#, y#, sx#, sy#, r, g, b, alpha#, spin#, size#, maxsize#, refresh#) p:particle = New Particle p.image = image MidHandleImage(p.image) p.x# = x# p.y# = y# p.sx# = sx# p.sy# = sy# p.r = r p.g = g p.b = b p.alpha# = alpha# p.spin# = spin# p.size = size# p.maxsize# = maxsize# p.refresh# = refresh# p.link = ParticleList.addlast(p:particle) End Function ' ---- Create Particle ---- ' ---- Frames per Second ---- Global FPSSEC = MilliSecs(), FPSCOUNT, FRAMES Function FPS() FRAMES = FRAMES + 1 If MilliSecs() - FPSSEC => 1000 Then FPSCOUNT = FRAMES FRAMES = 0 FPSSEC = MilliSecs() EndIf Return FPSCOUNT End Function ' ---- Frames per Second ---- Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group