Sprite Obergrenze

Previous topic - Next topic

WPShadow

Hi,

hat jemand von euch Erfahrung mit vielen 2D Tiles die gleichzeitig am Bildschirm sind?

Ab wann sollte man sich ca. Sorgen machen? Ich arbeite an einem kleinen 2D Spielchen mit Zoomstufe und habe etwas experimentiert und herum gerechnet und auf höchster Zoomstufe kratze ich gut und gerne an ca. 50k Tiles, wenn alle Layer gesetzt sind (was aber nur ein theoretischer Wert ist, da unsichtbare Elemente ja nicht gezeichnet werden).

Ich zeichne übrigens nur den Fensterausschnitt und nicht das vollständige Gebiet, daher kommt die hohe Anzahl also nicht.  =D

Kann das soweit zu Problemen führen oder brauche ich mir da keine Sorgen machen?

LG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

kanonet

Besser wäre es natürlich es gleich so zu programmieren, dass es auf möglichst vielen Rechnern läuft, also nicht zu sehr übertreiben und schauen, wo etwas gespart werden kann. Außerdem empfiehlt es sich, möglichst viele Sprites in einem Texture Atlas zusammen zu packen und das ganze dann per POLYVECTOR zu zeichnen. Ob/wie gut das ganze dann läuft, bekommst du am Schluss natürlich nur durch Versuch raus.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Schranz0r

#2
Tiles auf Bildschirm ?
Da du ja Zoom benutzt würde ich sagen Max. Fensterhöhe * Fensterbreite
Also wenn du so zoomst das aus einen Sprite ein Pixel wird :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Nun, die Umsetzung mit Polyvector erscheint mir am sinnvollsten im Augenblick.

Das Belichtungssystem wird eher spannend, da ich das ebenfalls mit Polyvektor und Alpha lösen möchte. Mal sehen, was ich da alles basteln muss, damit es flüssig läuft.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

So, es steht wieder eine Frage an und da ich nicht jedes Mal eine neue Anfrage stellen möchte, frage ich hier einfach weiter:

Ein Schleifendurchlauf dauert seine Zeit. Wenn wir annehmen, dass ich alle Daten in ein Array tue und dieses mit einer FOREACH - Schleife durchlaufen lasse und nur die Sprite - Bereiche zeichne, die gezeichnet werden sollen (Bildausschnitt) und die restliche Schleife immer wieder durch läuft --> ist das auf Dauer verkraftbar, wenn die Anwendung in Echtzeit läuft?

Ist es vor allem verkraftbar, wenn man 3 - 4 Layer übereinander Laufen hat oder ist es besser das Ganze einfach mit FOR grenze_1 TO grenze_2 zu lösen?

LG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Marmor

Letzendlich hilft dir nur ein test .
Auf alle Faelle sollte die zeichenroutine
60 fps haben , dann ist fuer die logik
Des spiels noch genug platz.
Wenn du mit layern arbeitest musst du ja
Auch die layer kopieren (dran denken).
Der flaschenhals ist meist die Fuellrate der
Grafikkarte.
Ob alles in einer loop abgefertigt werden kann
Solltest du auch testen.
Es hilft nix du kommst um ein paar test nicht drumrum.
Irgendwo im forum ist ein spritetest , der hilft dir
Gerade bei mobilen geraeten weiter.
Mfg