Rechenpower genug für Iso?
Übersicht

HyDr0xBetreff: Rechenpower genug für Iso? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier mal eine (meiner Meinung nach) ganz andere Frage:
In wie fern belastet eine stink normale Isoengine einen PC? Hier die Spezifikationen: 2.53GHz 512 MB ram GPU: GeForce 4 Ti 4200 128 MB Ram Denkt ihr das dieses System eventuell zu langsam ist um eine Isomap mit Gegnern usw. in einer Auflösung von 1024 X 768 darzustellen oder liegt es an mir und meinen programierkünsten wenn die FPS zahl auf ca gerade mal 30 ist? Wenn ich die Auflösung auf 800X600 stelle steigt die FPS auf 50 -60. Hier mal die Art wie ich meine Isomap grundlegend aufbaue, vielleicht entdeckt ihr ja nen Fehler weshalb es so lahm ist wenn es nicht am Rechner liegen sollte. Code: [AUSKLAPPEN] x = 0 y = 0 Global nx = 32 Global ny = 16 Global lx = 8000 Global ly = 200 Global zx Global zy ax = lx ay = ly zx = ax zy = ay Repeat If x >= rx/32 And y >= -ry/16 Then ;grentzt es ein um nur den Sichtbaren Bereich darzstellen DrawImage unt,zx,zy ;Für die Kollision verantwortlich (auch nur ein Tile) DrawImage tiles,zx,zy,map(x,y) EndIf zx = zx - nx zy = zy + ny x = x + 1 If x = rx/32+30 Or x = sx Then x = 0 y = y + 1 ax = ax + nx ay = ay + ny zx = ax zy = ay EndIf Until y = -ry/16+30 Or y = sy ax = lx ay = ly zx = ax zy = ay Hoffe ihr könnt mir meine Frage beantworten. Vielen Dank im Vorraus! |
||
- Zuletzt bearbeitet von HyDr0x am Mo, Okt 01, 2007 22:01, insgesamt einmal bearbeitet
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es liegt daran das Blitzbasic dafür DirectDraw verwendet also reines 2D das von der Cpu berechnet wird. Wenn du da mehr Power willst kommst du an 3D nicht vorbei.
cu |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Für Isomaps brauchst du einen 386er mit 33Mhz.
Denn darauf liefen UFO: Enemy Unknown (bzw. X-Com 1 je nach Kontinent), was eine multilayer ISO Engine hat. Die Frage da wäre nur: wie gut kannst du sie programmieren ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
AbrexxesBetreff: Re: Rechenpower genug für Iso? |
![]() Antworten mit Zitat ![]() |
---|---|---|
HyDr0x hat Folgendes geschrieben: in einer Auflösung von 1024 X 768 darzustellen
Sorry Dreamora, aber wenn du bei jedem Durchlauf bei der Auflösung mit Tiles anfängst kommt du mit "Graphics" nicht weit, egal ob Iso oder nicht. Das Game was du nennst hatte eine kleiner Auflösung. Das einzig Mögliche ist noch das Bild vorzuberechnen und anzuzeigen, aber auch da ist 1024*768 schon kritisch. cu |
||
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Thx für die schnellen Antworten. Dachte mir schon das es auch auf älteren Rechnern eig entlich laufen sollte, wunderte mich trotzdem als ich vom gegenteil überzeugt wurde.
@Abrexxes Wenn es daran liegt muss ich wohl umsteigen, aber bei 2.53GHz denke ich das Dremora recht hat ![]() Nunja ich habe auch erst vor nem knappen halben Jahr angefangen, muss mich nochn bissl damit beschäftigen, denke dan krieg ich die ISO auch noch hin ![]() Thx nochma edit: ok dann hat er een net recht ![]() würde stärkere Hardware helfen? |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht wirklich, aber das hier : https://www.blitzforum.de/foru...hp?t=21659
So könnte die Graka auch was tun, anstatt nur zuzuschauen wie sich deine CPU verbiegt um den Bildschirm zu tapezieren. ![]() |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo. So weit bin ich mit meinem Iso-Projekt gekommen. Lief eingentlich ganz passabel... (war ja auch nicht viel darzustellen...). Wird Zeit, dass ich daran mal weiterschraube. | ||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So weit bin ich auch ungefähr. Mit meinem Editor kann ich eine Endloslandschaft erstellen und Monster direkt einfügen die dann im fertigen Spiel an den Stellen angezeigt werden. Es können über 600 Monster auf einmal dargestellt werden, alle mit verschiedenen Werten. Sie droppen Items die man aufsammeln und mit Hotkeys oder im Inventar benutzten kann. Die Steuerung habe ich ähnlich wie diese aus Sacred übernommen. D.h. mit der Maus gibt man die Richtung an in der die Figur läuft. Zusätzlich will ich demnächst meine Questengine einfügen mit der ich dann auch Quests ins Spiel implementieren will. Gebäude sind auch in Planung. Inwiefern ich allerdings Innenräume darstellen kann/will steht noch in den Sternen. Die Sounds fehlen auch noch komplett und die Isografiken für Monster und Items muss ich uch noch einfügen. (sind bis jetzt nur "normale" 2D Dummys) Mein Spellsystem hat die konvertierung von normaler Tileengine zu Iso auch nich so richtig verkraftet, sodass ich das auch nochmal machen muss. Von daher ist noch viel zu tun. Denke aber das ich das meiste realisieren kann. Das wichtigste steht ja schon. Meine beiden vorherigen Projekte musste ich damals leider aufgrund mangelndem Wissen mit Types einstellen. Da ich aber nu endlich mal ein vernünftiges Tutorial fand und mit den Erfahrungen aus diesem Projekt hoffe ich das ich die nochmal neu aufrollen kann.
@Abrexxes daran hab ich auch schon gedacht (und hatte es mir such schon vor längerer Zeit runtergeladen) bin nur noch nicht dazu gekommen es auszuprobieren da ich mich mit 3D auch noch nicht beschäftigt habe und erstmal mit 2D klarkommen wollte. Da aber nun BB2D an seine Grenzen stößt wird es wohl zeit umzusteigen ... . Thx für die Hilfe. |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könnte dich interessieren : https://www.blitzforum.de/foru...740#268740 | ||
DreamoraBetreff: Re: Rechenpower genug für Iso? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Abrexxes hat Folgendes geschrieben: HyDr0x hat Folgendes geschrieben:
in einer Auflösung von 1024 X 768 darzustellen
Sorry Dreamora, aber wenn du bei jedem Durchlauf bei der Auflösung mit Tiles anfängst kommt du mit "Graphics" nicht weit, egal ob Iso oder nicht. Das Game was du nennst hatte eine kleiner Auflösung. Das einzig Mögliche ist noch das Bild vorzuberechnen und anzuzeigen, aber auch da ist 1024*768 schon kritisch. Das gehört zu den wirklich interessanten Fehlannahmen die etwa 95%+ aller User hier machen. Vermute das kommt von den Überlegungen her, wie sie programmieren. Wenn du effizient 2D willst, wird der "Anfängeransatz", nämlich "wie kann ich etwas nicht mehr zeichnen lassen". Das ist der Schlüssel ... Mit DrawImage wirst du da nie auf etwas wirklich effizientes kommen. Das heisst, um es genauer auszuführen: 1. CLS ist tabu 2. Multibuffering (wenns Double wär, wärs kein Problem) ist ebenfalls tabu 3. Operationen modifizieren den Frontbuffer und zwar nur da wo sich etwas ändert. -> LockBuffer - Alle Modifikationen - UnlockBuffer Auf dieser Basis sollte es eigentlich bedeutend eher möglich sein etwas effizientes zu machen. Aber das ist in keinster Weise auf dem regulären Blitz Programmierniveau. Denn um das effizient hinzubekommen mit dem "wo wie was ändern", "Kollision" und weiteren Dingen wird sehr viel Eigeninitiative nötig sein und ein grosse Bereitschaft sich mit Dingen auseinander zu setzen die heute meist belächelt werden. Wer zu dem nicht bereit ist sollte Blitz3D nutzen, dort direkt 3D Objekte und die Kamera in eine Iso Pespektive. Man kann die Charaktere etc immer noch als 2D erzeugen und auf eine 3D Plane kleben wie es zb Ragnarok macht. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also auf gut Deutsch, wenn du bei 2D in einer Auflösung von 1024*768 auf Scrollen, Echtzeiteffekte und am besten wenige Animationen setzt, dann "könnte" es gehen. Vorausgesetz deine CPU hat sonst nichts zu tun.
Sag mal Dreamora, ist das im Jahre 2007 wirklich der Weg denn du empfielst? Ich kann dir ja mal den Source meines Qeditors schicken, der macht das was du sagst und das verdammt schnell (bei 640*480), allerdings muss trotzdem bei jeder grösseren Aktion das Bild komplett neu aufgebaut werden was dann schon mal 120ms kostet (was man aber im Editor nicht bemerkt). Und pro animiertem Tile kannst du schon mal 20-30 Frames vergraben. Kurz, es ist murks. |
||
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Pro animierten Tile 20 -30 Frames?? omg .. Hatte vor (so wie ichs mit normaler Tileengine auch tat) das Wasser zu animieren, also das es sich bewegt. Dann kann ichs wohl so vergessen oder ich machs so wie Dremora mit den lockbuffer usw. nunja mal sehen hab jetzt leider weniger Zeit aufgrund der Schule aber es wird schon irgendwie weiter gehen ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Abrexxes hat Folgendes geschrieben: Also auf gut Deutsch, wenn du bei 2D in einer Auflösung von 1024*768 auf Scrollen, Echtzeiteffekte und am besten wenige Animationen setzt, dann "könnte" es gehen. Vorausgesetz deine CPU hat sonst nichts zu tun.
Sag mal Dreamora, ist das im Jahre 2007 wirklich der Weg denn du empfielst? Ich kann dir ja mal den Source meines Qeditors schicken, der macht das was du sagst und das verdammt schnell (bei 640*480), allerdings muss trotzdem bei jeder grösseren Aktion das Bild komplett neu aufgebaut werden was dann schon mal 120ms kostet (was man aber im Editor nicht bemerkt). Und pro animiertem Tile kannst du schon mal 20-30 Frames vergraben. Kurz, es ist murks. Das Hauptproblem da ist das viele wohl 2D mit 3D verwechseln. In 2D hast du keine Echtzeit Effekte. Animation ist das höchste. Rotate etc braucht man in einem puren 2D Spiel nicht. Du hast die 4 oder 8 Animationsrichtungen schon drin, speziell bei Iso (meist 4), thats it. Dann hast du 4-6 verschiedene Animationen und damit kommt man gut weg. Hinzu kommt ein weiterer Faktor: 2D braucht keine 60 FPS. Ein reines 2D Spiel macht kein CLS wie die 3D Kamera, das heisst es gibt kein flimmern und nichts, der User hat garkeine Chance "zu wenige Frames zu spüren". Ich kenne nicht viele 2D Spiele 30 FPS oder gar noch mehr haben. Normalerweise setzt man die FPS explizit so, dass sie mit der Animationsgeschwindigkeit übereinstimmen oder ein ganzzahliges Vielfaches davon sind -> gesparte CPU Zeit beim Emulieren von irgendwelchen virtuellen Zeitschritten. Die obigen Annahmen sind ja der grund warum viele Iso mittlerweile in 3D machen. Die 2D Animationen in "2d durch 3D" brauchen massiv VRAM (ein Spiel wie ein SNES spiel lässt sich mit einer durchschnittlichen 2007er grafikkarte garnicht realisieren in der form, denn SNES kannte 4 und 8bit, eine aktuelle Grafikkarte hat aber intern ALLES in 32bit. Ein weiteres Problem sind die Farbtricks via Palette Rotation die in 32bit garnicht existieren und weiteren VRAM brauchen, egal wie man das problem löst), da kommt ein simples 3D model selbst mit 2000 animations frames um einige welten besser weg und dann kann man es noch frei um 360 grad drehen ohne das man für alles neue bilder erzeugen muss. Und ich sagte nicht, dass das umbedingt der Weg ist wie man es heute machen sollte. Ich sagte nur, dass es durchaus und problemlos geht und das man dafür definitv keine 2 Ghz an CPU Leistung braucht. Man muss sich aber bewusst sein das 2D 2D ist und sich entsprechend verhalten und nicht das gefühl haben das wenn man etwas auf 1998er Niveau macht, man das mit 2007er Technik und Grafikvorstellungen zupumpen kann. Das geht nicht, dann müssten wir Grafikkarten mit 512-2048MB VRAM haben und zwar als unterer Durchschnitt. Auf der anderen Seite ist es so, dass der durchschnittliche User hier 0 Plan davon hat wie eine GPU funktioniert und dann ist 2D durch 3D ein nicht unerhebliches Problem. Ich nenne da extra Mal nur Overdraw. Eines der wenigen Dinge das obwohl seit der TNT1 Ewigkeiten vergangen sind, nach wie vor das gleich massive Problem ist wie damals, wenn nicht noch das grössere wie damals, wenn man es in Relation zu den anderen Dingen nimmt, die sich entwickelt haben (zb im Vergleich zu Mesh und Polygon drops beim Rendern durch die Grafikkarte und dergleichen). Denn das Hauptproblem ist, das 2D durch 3D in einer Ebene zeichnet. Das heisst, es greift defakto auch keine zBuffer optimierung die das Problem normalerweise unter Kontrolle bringt (zumindest auf GF7 und neuer und ATI X1300 und neuer). Das es ein Problem ist, zeigt die Tatsache wie viele Leute sich hier und auf bb.com dazu herablassen ihre sonst guten Spiele mit Partikeleffekten total in die Knie zu zwingen einfach weil sie nicht begreifen wollen das ein Emitter der 200 Partikel spukt etwa 150+ mehr spukt als eigentlich notwendig sind bei einem Emitter der sehr viel eingesetzt wird. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich glaube das wissen deswegen nur noch so wenige weil sie das Zeitalter der 2D Spiele nicht mehr kenne wie ich zum Beispiel. Aber danke ür deine Erklärung ich glaube das hat mir ein bisschen geholfen. | ||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Man muss sich aber bewusst sein das 2D 2D ist und sich entsprechend verhalten
Mehr habe ich auch nicht gesagt, wer versucht mit DirectDraw und 32*32 Tiles einen 1024*768 zu tapezieren der tut das aber nun mal nicht. Es ist mir kein einziges Spiel bekannt was 2D genutzt hätte und über 640*480 darstellt (einige bieten es als Option an), ganze einfach weil der Tempoverlust bei einer Auflösung von 1024*768 ENORM ist. Und da stellt sich die Frage beim Anwender wiso er eine 2 Ghz Maschine braucht um ein 2D ISO Game in 1024*768 im Ansatz flüssig zu spielen. (Mal abgesehen vom FAktor Blitz=!C++) Aber das muss halt jeder Autor selbst entschieden. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Problem wird allerdings mit Draw3D zb nicht kleiner.
Um ein effektives "Old School" Iso RPG zu machen gibts in Blitz eigentlich nur einen sinnvollen Weg: Sich selbst mit Mesh, Vertex und Trianglebefehlen Routinen bauen. Ausser man ist, faul, dann guckt man hier rein ![]() http://www.blitzbasic.com/Comm...opic=70746 |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe eben, nicht nur um eine Vermutung von mir zu bestätigen, mal einen kleinen Test durchgeführt. Ein Test der 2D gegenüber Draw3D vergleichen soll.
Graphics3D 1024,768,0,1 + Draw3D vs. Graphics 1024,768,0,1 Tilegröße 32x32 aus einem 512x512 Image, also 256 Tiles die pro Frame mit 713 Tiles (Vollbild) per Zufall dargestellt werden. Draw3D mit ~251 FPS 2D mit ~ 101 FPS Meine Vermutung nun: Die Grafikkarte ist bei der Draw3D der ''Flaschenhals'', was auch bedeuten würde, wenn die CPU mit anderen Dingen beschäftigt wird, würden Recourcen frei, die mit der bisherigen Messung unberücksichtig blieben. Um das besser zu testen, stelle ich unter 2D entsprechend weniger Tiles dar, um nahe der FPS-Werten von 3D zu gelangen. Es wird also ein Test angestellt mit: Draw3D 713 Tiles vs. 2D 264 Tiles. Mit SPACE kann dann eine Sinnlosberechnung durchgeführt werden die pro Frame 100'000 mal sinnlos=Rand(100)*Rand(100) berechnet. Ergebnis: Draw3D (713 Tiles/Frame) 251 FPS zu 73 FPS 2D (264 Tiles/Frame) 258 FPS zu 63 FPS Damit ist meine Vermutung bestätigt, dass mit Einbeziehung von 3D, die arbeiten geteilt werden. Selbst dann, wenn im Rohversuch 3D schlechter abschneiden sollte, was selbst in diesem Beispiel nicht so war. Zugegeben ist aber grad der Umgang mit Tiles und der Draw3D recht schwierig. Man muss also mit den Nachteilen vertraut sein, und ensprechend dieses Umgehen. Die ''Probleme'' im Bezug, habe ich bereits des öffteren beschrieben. Ausserdem bekommt man mit Einbeziehung von 3D nur noch sehr schwer eine ''Old School'' -Grafik hin. Man muss sich von daher genau überlegen, was man letztendlich erreichen will. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: 2D mit ~ 101 FPS
Und da sage noch jemand es wäre nicht möglich 2D bei dieser Auflösung zu fahren. Da man ja wesentlich weniger FPS benötigt (unter 2D sollten 20 FPS mehr als ausreichend sein) hat man noch massig Ressourcen frei. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bladerunner, das da oben ist kein komplettes Game sondern vielleicht mal 25 % davon. Bei mehreren Layern, Sprites und eventuell animierten Effekten ist das ganze dramatisch. Ausserdem arbeitet hectic hier wohl nicht mit einem 1Ghz Rechner, auch das wirkt sich noch einmal dramatisch aus. Denn je mehr dazu kommt desto mehr wird die Graka von Optimierungen auf 3D Basis profitieren während die CPU (2D) ganz einfach absäuft.
cu |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin dennoch der Meinung dass es möglich ist. Ob es auf heutigen Grakas sehr sinnig ist auf solche Optimierungen zu verzichten steht auf einem ganz anderen Blatt. Und grade ein Retro-2D-Game braucht meines Erachtens nach keine Tonnen von Effekten. Für simples Retrovergnügen reicht 2D pur allemal aus. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group