Was genau bringt eigentlich TexFlag 256?
Übersicht

![]() |
FireballFlameBetreff: Was genau bringt eigentlich TexFlag 256? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
vermutlich ist das eine dumme Frage ![]() wann ist es sinnvoll, eine Textur mit Flag 256 zu erstellen und wann ohne? Blitzbase sagt nur: "[256] Speichert Textur in VRAM = schneller" und hier im Forum hab ich nix dazu gefunden. Ich habe in meinem Spiel habe eine Textur, in die in jedem Hauptschleifendurchlauf mit CopyRect hineingemalt wird. Dabei habe ich festgestellt, dass dies mit Flag 256 grundsätzlich schneller läuft als ohne. Ab einer Texturgröße von 2048² sieht das aber anders aus: während die Textur ohne Flag immernoch ungefähr so schnell ist wie vorher, dauert mit Flag der CopyRect-Befehl auf einmal mehrere Sekunden und macht das Ganze vollkommen unspielbar. --- Woran kann das liegen? |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich weiß verursacht der Befehl (zumindest bei mir) auch noch, dass keine verschieden aufgelösten Zwischentexturen der textur erstellt werden. Glaube das heißt Mipmap.
Umso weiter du weg bist von dem Objekt mit der Textur desto unschärfer wird ja die Textur, was durchaus real rüberkommt. Mit Flag 256 bleibt die textur aber so scharf aufgelöst, was die textur auf Entfernung verpixelt aussehen lässt, weil bei großen Entfernungen manchmal Pixel3 der Textur und manchmal Pixel5 dargestellt wird, welche aber völlig andere farbwerte besitzen. hier mal ein vergleich: Normal http://marinext.ma.funpic.de/i..._Flag1.PNG Flag256 http://marinext.ma.funpic.de/i...lag256.PNG Der Unterschied sollte klar und deutlich zu sehen sein Außerdem flackert die Textur etwas in den einzelnen Pixeln auf dem Monitor wenn man sich bewegt... ziemlich unschön, aber für Texturen welche immer auf selben Abstand bleiben perfekt (Bsp. Himmel/Wolken) Damit ist schoneimal die eine Frage beantwortet ^^ Ich glaube weil Flag256 keine kleinen Zwischentexturen für verschiedene Abstände erstellt ist diese für kleinere Texturen schneller, bei größeren hat dann Flag1 den Geschwindigkeitsvorteil. Wieso weshalb VRam manchmal schneller usw. erklärt dir besser ein Profi. Unter unseren Mods gibts da ganz paar die sich super damit auskennen ![]() |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn die Textur im VRam gespeichert wird, kann die Grafikkarte einfach viel schneller drauf zugreifen. Im Normalfall muss man sich um sowas nicht kümmern, mit Flag 256 kann man das aber erzwingen. Wirklichen Sinn ergibt das nur bei Texturen, die sich nicht mehr ändern. Das ganze ist nämlich für gewöhnlich eine Einbahnstraße. Muss man also was an der Textur ändern, geschieht dies im Hauptspeicher. Die komplette Textur wird dann neu hochgeladen, was auch etwas Zeit kostet.
Die 2048er Textur braucht einfach enorm viel Speicher. Entweder passt sie nicht rein ins VRam oder aber (das ist wohl wahrscheinlicher), andere Texturen müssen entfernt werden, damit sie reinpasst. Das wird also in einem ewigen hin und her-geswappe enden, so dass das ganze noch langsamer wird, als wenn er die große 2048er Textur direkt aus dem Hauptspeicher liest... Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
@NightPhoenix: Das mit den MipMaps kann mir eigentlich egal sein, weil die Textur eh immer direkt vor der Kamera klebt. Ich benutze die für einen Blur-Effekt. Weil 2D-Befehle wie Text oder Images auch mitgeblurt werden sollen, kann ich auch nicht einfach eine kleinere Textur nehmen ![]() Xaron hat Folgendes geschrieben: Wirklichen Sinn ergibt das nur bei Texturen, die sich nicht mehr ändern.
Bei mir ist das aber umgekehrt? D.h. wenn ich die Textur ständig ändere, ist sie mit Flag 256 deutlich schneller (zumindest unter 2048²). Wenn ich sie nicht mehr ändere, ist sie ohne Flag etwas schneller. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Flag 256 ist explizit nur für Texturen die man häufiger ändert. Sonst läuft man nämlich gefahr, dass sie garnimmer da ist, wenn man sie "verwaisen" lässt und dann einen MAV kassiert. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das tu ich ja...
Ich habs jetzt erstmal so umgangen, dass automatisch auf eine Textur ohne 256-Flag umgeschaltet wird, wenn das CopyRect länger als eine halbe Sekunde dauert. Das funktioniert erstmal (das Spiel stockt nur und wird dann wieder spielbar), aber schön isses natürlich nicht... |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstaunlich. Dann ist das wohl aber anders umgesetzt, als ich es mir denken würde. ![]() ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
? | ||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group