DirectX 11.2 bringt Hardware-Support für Mega-Texturing

AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

@RedDragon20: So soll's sein, ja. Ein bisschen gesunde Skepsis darf man sich aber behalten, immerhin hat das id mit Rage auch schon probiert. Das Ergebins war aber nicht hunderprozentig überzeugend. Die Texturen sehen zwar in einer gewissen Entfernung absolut fantastisch aus, in der Nähe sind sie jedoch zu gering aufgelöst, verpixelt und außerdem mit Kompressionsartefakten versaut.

Die id-Tech 5-Engine kann anscheinend außerdem größere Texturen verwenden, als mit der von Mircrosoft vorgestellten Technik, was mit Blick auf oben genanntes nicht umbedingt optimistischer stimmt. Allerdings hat das auch nicht umbedingt was zu sagen: in Rage kommt pro Level meines Wissens nur eine einzelne, riesige Textur zum Einsatz (jedenfalls für die Levelgeometrie), bei der Technik von Microsoft könnten einfach mehrere weniger gigantische zum Einsatz kommen, und so ein gleichwertiges oder sogar besseres Ergebnis liefern.
Das wird sich noch zeigen müssen.

Spannend find ich die Sache schon, das könnte konventionelle Texturen in Zukunft ablösen, dafür würde ich sogar auf Win8(.1) wechseln.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Also wird mit DX11.2 und diesem Mega Texturing das "Kachelproblem" gelöst und Texturen werden auch in der Ferne ordentlich dargestellt, ohne den Speicher zu sehr zu belasten. Verstehe ich das richtig?

Nein. Also Ja :ugly:
Es wird mit der neuen Techniker leichter, mit großen Texturen zu arbeiten. Mit der Darstellung in der Ferne hat das wenig bis gar nichts zu tun (es sei denn wir reden von der Skybox selbst), denn da werden ja sowieso nur noch kleinere Mipmapstufen verwendet. Eher profitieren könnte die Detaildarstellung im Nahen. Wie sich die Speicherbelastung in der Praxis entwickelt, bleibt aber auch da noch abzuwarten. Zwar kann man mit der neuen Technik Ausschnitte aus großen Texturen bequem einsetzen, ohne Platz für die ganze Textur zu belegen - aber man kann auch heute schon einfach mit mehreren kleinen Texturen arbeiten.
Die neue Technik spart also Aufwand, aber sie ermöglich nicht komplett neue Grafiken. Mit etwas Glück führt der reduzierte Aufwand aber dazu, dass bessere Texturen häufiger genutzt werden.

Ich versteh grade nicht, wie du das meinst. Ich bezweifle mal stark, dass die beim erstellen der Texturen absichtlich ne extrem niedrige Auflösung wählen und dann das Original stark komprimiert abspeichern. Das würde ja mehr arbeit bedeuten, als wenn man gleich ne anständige hochauflösende Textur erstellt.

Nicht extrem niedrige oder stark komprimierte Auflösungen, aber allgemein ein nicht alzu praller Detailgrad. Denn weite Teile eines Spiels tauchen in Promomaterialien gar nicht auf - wenn da überhaupt Renderszenen und keine Artworks verwendet werden. Unterm Strich sehe ich auch in aktuellen Spielen vielerorts Texturen, die nicht annähernd die maximalen Auflösungen ausnutzen, die genutzte Auflösung nicht ausreizen (es wird z.B. eine hohe Auflösung genutzt, um Treppeneffekte an Linien auf der Textur zur reduzieren - aber die Fläche um die Linie herum ist einfarbig und hat keinerlei Struktur) und die sich in sehr kurzen Abständen wiederholen. In diesen Fällen ist die Grafikqualität nicht durch die Darstellungsfähigkeiten limitiert, sondern durch Zeit und Aufwand des Texturdesigners. Und auch wenn die neuen Konsolen hier hoffentlich Impulse geben werden, glaube ich nicht, dass wir soo schnell die Limits von DX11.0 ausreizen werden.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Ruyven das Texturdesign wird aber aufwändig, weil du dir genau überlegen musst, wie du vor gehst, um nicht in Speicherprobleme rein zu laufen. Gerade auch das Streaming ist ein großes Problem.

Du musst ja im Voraus wissen, was da sein wird. Also musst du mehr laden, was zu Overhead fürt. Auch bei den unterschiedlichen Detailstufen von Texturen. Da musst du dann mal gleich die drüber und runter mit dazu laden usw usw usw.

In den Videos ist das ja ziemlich gut erklärt, wo das die Probleme liegen.

Durch den Support in DX11.2 von "Mega-Texturen", hast du da deutlich weniger Aufwand, und das kannst du in bessere Designs stecken. Vor allem können die Designer aber viel freier "einfach" drauf los schaffen. Das wird sich deutlich bemerkbar machen.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Unterm Strich sehe ich auch in aktuellen Spielen vielerorts Texturen, die nicht annähernd die maximalen Auflösungen ausnutzen, die genutzte Auflösung nicht ausreizen (es wird z.B. eine hohe Auflösung genutzt, um Treppeneffekte an Linien auf der Textur zur reduzieren - aber die Fläche um die Linie herum ist einfarbig und hat keinerlei Struktur) und die sich in sehr kurzen Abständen wiederholen. In diesen Fällen ist die Grafikqualität nicht durch die Darstellungsfähigkeiten limitiert, sondern durch Zeit und Aufwand des Texturdesigners.


Ok, ich weis genau, was du meinst. Aber beziehst du dich auf Texturen am PC oder auf Konsolen?

Wenn PC, dann stelle ich mir das so vor, dass die Texturen meist in einer relativ niedrigen Auflösung für die Konsolen erstellt werden und dann nochmals extra komprimiert um das maximum aus den Konsolen zu holen.

Für die PC Ports werden diese niedrig Aufgelösten Texturen dann hochskaliert, evtl etwas nachgeschärft und mit einer weniger starken komprimierung abgespeichert. Somit haben wir unsere Textur mit hoher Auflösung, die trotzdem ******* aussieht, aber immernoch besser als auf Konsolen ist. :schief:

Gut, ich bin jetzt kein Entwickler. Aber so wäre das ganze für mich plausibel.

Ich kann mir eben einfach nicht vorstellen, dass jemand eine Textur in hoher Auflösung erstellt und diese mit zu wenig Details füllt, so dass es matschig aussieht. Oder doch? :ugly:
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Du musst ja im Voraus wissen, was da sein wird. Also musst du mehr laden, was zu Overhead fürt. Auch bei den unterschiedlichen Detailstufen von Texturen. Da musst du dann mal gleich die drüber und runter mit dazu laden usw usw usw.

Mipmaps werden automatisch nachgeladen. Das ist ja u.a. auch eine Frage der Auflösung und somit nichts, was auf Designebene festgelegt wird.

Durch den Support in DX11.2 von "Mega-Texturen", hast du da deutlich weniger Aufwand, und das kannst du in bessere Designs stecken.

Der Engine-Entwickler hat weniger Aufwand. Aber der designed keine Texturen, sitzt -wie erwähnt- i.d.R. nicht mal in der gleichen Firma.


Ok, ich weis genau, was du meinst. Aber beziehst du dich auf Texturen am PC oder auf Konsolen?

Das nimmt sich mittlerweile nicht mehr viel.
(Früher war der Unterschied z.T. heftig - da hatten Konsolen, im Vergleich zu ihrer Grafikqualität insgesamt, exzellente Texturen, weil es die einzige Möglichkeit war, wenigstens ein bißchen was ansehnliches rauszuholen. Was in PC-Titeln durch Polygone grob dargestellt wurde, war dann auf der Konsole räumlich gar nicht vorhanden, aber z.T. in sehr viel höherer Qualität abgebildet. Wenn ein PC-Spiel mal beides kombinierte, vielen die Kinnladen. Beispiele wären das erste Mafia oder Max Payne. Gerade letzteres hatte nur wenig mehr Polygone, als sonst üblich war, und auch keine überzogenen Hardwareanforderungen (Mafia auch eher wegen der KI), sah aber um Lichtjahre besser aus, als die Konkurrenz, weil die Texturen in weiten Teilen auf Fotos basierten.)

Wenn PC, dann stelle ich mir das so vor, dass die Texturen meist in einer relativ niedrigen Auflösung für die Konsolen erstellt werden und dann nochmals extra komprimiert um das maximum aus den Konsolen zu holen.

Für die PC Ports werden diese niedrig Aufgelösten Texturen dann hochskaliert, evtl etwas nachgeschärft und mit einer weniger starken komprimierung abgespeichert. Somit haben wir unsere Textur mit hoher Auflösung, die trotzdem ******* aussieht, aber immernoch besser als auf Konsolen ist. :schief:

Gut, ich bin jetzt kein Entwickler. Aber so wäre das ganze für mich plausibel.

Ich kann mir eben einfach nicht vorstellen, dass jemand eine Textur in hoher Auflösung erstellt und diese mit zu wenig Details füllt, so dass es matschig aussieht. Oder doch? :ugly:

Ich glaube nicht, dass die Texturen tatsächlich auf Konsolenniveau designed und dann interpoliert werden. Ein bißchen Reserve ist immer gut und für einige Rendertricks braucht man sowieso ein detaillierteres Modell, dass dann runtergerechnet werden kann. Aber wieviel mehr Aufwand man über das hinaus investiert, was auf dem Massenmarkt Konsole zu sehen sein wird, steht eben auf einem anderen Blatt. I.d.R. "nicht zuviel".
Das heißt übrigens nicht, dass die Erstellung per se in einer niedrigen Auflösung erfolgt - aber eben mit niedrigem Detailgrad. Wenn z.B. ein Logo ohnehin in hoher Auflösung vorliegt, dann wird ein Designer z.B. die Arbeit an einer Uniform, auf der dieses Logo auch zu sehen ist, sicherlich nicht mit einer viel, viel kleineren Version des Logos beginnen, sondern alles in hoher Auflösung machen - runterrechnen geht hinterher immer. Aber wieviel Aufwand er z.B. in Dreckflecken steckt, dass hängt dann wieder direkt von dem ab, was er als später sichtbar erwartet. Ggf. "eher wenig".
Wenn man diese Textur dann später in ihrer maximalen Qualität zu sehen bekommt, ist sie zwar nicht matschig, sondern scharf - aber wo in der Realität z.B. ein Muster von Schlammspritzern zu sehen sein würde, zeigt die Textur eine gleichmäßig flächig verschmierte braune Fläche. Mit Ausnahme der schärferen Umrisse und ggf. darüber gelegter Effekte (z.B. eine zweite Textur oder ein Shadereffekt, der die Struktur des Materials in voller Auflösung angibt) hat man aber keinen Qualitätsgewinn durch die höhere Auflösung. Es gibt schlichtweg nichts, was man zusätzlich sehen könnte.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

ruyven dafïr muss die MipMap aber erstmal im speicher liegen..... Und das eben meist (immer?) für alle Stufen gleich...

Hier ist das aber eben Nicht der fall. Da wird in den VRAM nur das geladen was man auch wirklich braucht ;)
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Was im Falle von Mipmaps aber auch nur 25% Speicher spart - und 0% Designaufwand ;)
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Eben nicht...

Das ist ja der "Witz" an diesen persistenten Texturen.

Du kannst einfach eine Mip-Map Stufe drüber dazu fügen, ohne dir große Gedanken über den SPeicher machen zu müssen. Das Ding wird ja erst geladen, wenn du es auch wirklich brauchst. Ansonsten liegt es halt einfach im RAM und gut ist.

Klar, wenn du die gesamte TExtur brauchst, sparst du zwischen 25% und ~33%, je nachdem wie du die Mip-Map aufteilst. Da gehst du aber eben davon aus, dass du die am hösten aufgelöste brauchst ;) Genau das ist ja aber nicht immer der Fall, sondern eigentlich eher selten. Heutzutage hast du aber eigentlich immer alles im Speicher, bzw streamst eben aufwändig nach.

Das fällt ja hier fast alles weg. Du haust mal ein Grundset an Texturen in die GPU, und den Rest lädst du automatisch! dynamisch nach. Das ist viel performanter als wenn du das in Software machst. Schau dir doch nochmal das Beispiel mit Mars an, wo Sie mit 16MB! auskommen :ugly:

Das macht die Arbeit für Designer viel viel viel einfacher. Du musst dir über Speicher eigentlich fast gar keine Gedanken mehr machen. Das Einzige was mit dieser Technik weiterhin zum Problem wird, und auch einfach mal ausgespart wurde von MS sind sehr schnelle Bewegungen und abrupte Übergänge.

Also aus dem Beispiel von MS, der Übergang zwischen im Haus und außerhalb vom Haus. Da musst du nämlich auf einmal eventuell sehr viel nachladen. Das ist ein Problem, weil du bei 60 FPS ja nur maximal 273MB an Daten laden kannst, und das ist schon mit 16x PCI-E 3.0 gerechnet und 100% Ladezeit. Also null Möglichkeit mehr das Bild auch noch zu rendern. Man wird also wohl eher bei 25-50 MB, mit gutem Willen vielleicht auch noch 100MB liegen, und dann ist sense. Wenn man mehr laden muss, rutscht man unter die 60 FPS.

Wie man Übergänge zwischen innen<->außen abfedern kann wurde ja schon gesagt. Man lädt das Zeug einfach vorher. Man kennt ja auch die Übergangspunkte im Voraus. Türen/Fenster usw halt ;) Das kann man auch ziemlich einfach durch Triggerzonen machen.

Schwieriger werden schnelle Bewegungen. Hier kann man aber einfach die Laufgeschwindigkeit begrenzen, bzw die maximale Stufe der Mip-Map von der Geschwindigkeit abhängig machen, was ja jetzt auch möglich sein sollte ;) Wenn man sich sehr schnell bewegt, kann man die Details eh nicht sehen ;)

Am schwierigsten sind aber Drehungen. Drehungen sind zwar vorhersehbar, aber man kann sich halt in den vollen 360° drehen, und man hat eben schon bei einer Drehung um weniger als 180° den gesamten Bildinhalt ausgetauscht... Zudem bewegt man sich nicht nur zwischen STufen von MipMaps, sondern tauscht diese je nachdem komplett aus. Die Drehgeschwindigkeit zu limitieren kommt auch eher schlecht. Das würden die Leute als zähe Steuerung empfinden. Da hat man also wirklich eventuell ein Problem.

Man muss also intelligent auch den Teil der Welt buffern, der sich leicht außerhalb des Blickfelds befindet. Das scheint ja aber durch die (LLR policy?) Art wie man die Texturen austauscht, durchaus gegeben zu sein.

Die ganzen Sachen muss man ja sonst auch mitbeachten, muss aber immer GANZE! Texturen, das heist eigentlich inkl aller MipMap Stufen laden. Da wird der Speicher extrem schnell zum Flaschenhals, genau wie auch die PCI-E Bandbreite. Das wird jetzt deutlich einfacher. Ergo müssen sich die Designer viel viel weniger Gedanken machen.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Das ist viel performanter als wenn du das in Software machst. Schau dir doch nochmal das Beispiel mit Mars an, wo Sie mit 16MB! auskommen :ugly:

Das macht die Arbeit für Designer viel viel viel einfacher. Du musst dir über Speicher eigentlich fast gar keine Gedanken mehr machen.

Nur weil du performanter Nachladen kannst, heißt das nicht, dass du die Gesamttexturmenge einer Szene vergrößern kannst. Du kannst leichter mehr verschiedene Texturen in einem Level unterbringen (wenn du sie denn alle designen willst), aber was sich in unmittelbarer Nähe zur Spielfigur befindet, muss weiterhin in den VRAM passen. PCIe-Bandbreite wächst schließlich nicht auf Bäumen und dass sie bislang so großzügig erscheint, liegt vor allem daran, dass man eben möglichst auf System-RAM-Zugriffe verzichtet.
Nur in einigen Nischen, die Inhaltsbedingt relativ große Texturveränderungen im Laufe von ein paar Sekunden haben (wo der PCIe also noch hinterherkommt, der Overhead bei Ansteuerung in Software aber erheblich werden kann), würde ich mir eine klare Verbesserung erwarten. Dummerweise sind grafisch eindrucksvolle Flugsimulationen ein ziemlich totes Genre :ugly:

Das Einzige was mit dieser Technik weiterhin zum Problem wird, und auch einfach mal ausgespart wurde von MS sind sehr schnelle Bewegungen und abrupte Übergänge.

Also aus dem Beispiel von MS, der Übergang zwischen im Haus und außerhalb vom Haus. Da musst du nämlich auf einmal eventuell sehr viel nachladen. Das ist ein Problem, weil du bei 60 FPS ja nur maximal 273MB an Daten laden kannst, und das ist schon mit 16x PCI-E 3.0 gerechnet und 100% Ladezeit. Also null Möglichkeit mehr das Bild auch noch zu rendern. Man wird also wohl eher bei 25-50 MB, mit gutem Willen vielleicht auch noch 100MB liegen, und dann ist sense. Wenn man mehr laden muss, rutscht man unter die 60 FPS.

Wie man Übergänge zwischen innen<->außen abfedern kann wurde ja schon gesagt. Man lädt das Zeug einfach vorher. Man kennt ja auch die Übergangspunkte im Voraus. Türen/Fenster usw halt ;) Das kann man auch ziemlich einfach durch Triggerzonen machen.

In den meisten Spielen hast du aber auch abrupte Übergänge, bei denen dir Trigger nicht helfen können. Wenn ich das Fernglas aktiviere, dann werde ich garantiert nicht akzeptieren, dass die höheren Texturauflösungen erst nach 10-20 Frames nachgeladen worden. Wenn ich mich ruckartig umdrehe, will ich sofort alles sehen, etc.
Von Explosionen ganz zu schweigen. Wenn sowas alles über Preloading läuft, dann habe ich am Ende doch wieder eine Verwaltung der Ladevorgänge in Software und die Vorteile sind gering.

Schwieriger werden schnelle Bewegungen. Hier kann man aber einfach die Laufgeschwindigkeit begrenzen, bzw die maximale Stufe der Mip-Map von der Geschwindigkeit abhängig machen, was ja jetzt auch möglich sein sollte ;) Wenn man sich sehr schnell bewegt, kann man die Details eh nicht sehen ;)

Schnelle Bewegungen sollten wesentlich leichter und, wäre es denn echtes Megatexturing, sogar in Hardware regelbar sein. Schließlich sind die durch das Spielprinzip sehr gut linear interpolierbar.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Nur weil du performanter Nachladen kannst, heißt das nicht, dass du die Gesamttexturmenge einer Szene vergrößern kannst. Du kannst leichter mehr verschiedene Texturen in einem Level unterbringen (wenn du sie denn alle designen willst), aber was sich in unmittelbarer Nähe zur Spielfigur befindet, muss weiterhin in den VRAM passen. PCIe-Bandbreite wächst schließlich nicht auf Bäumen und dass sie bislang so großzügig erscheint, liegt vor allem daran, dass man eben möglichst auf System-RAM-Zugriffe verzichtet.
Nur in einigen Nischen, die Inhaltsbedingt relativ große Texturveränderungen im Laufe von ein paar Sekunden haben (wo der PCIe also noch hinterherkommt, der Overhead bei Ansteuerung in Software aber erheblich werden kann), würde ich mir eine klare Verbesserung erwarten. Dummerweise sind grafisch eindrucksvolle Flugsimulationen ein ziemlich totes Genre :ugly:
Eben doch. Du kannst damit effektiv mehr unterschiedliche Texturen besitzen, da du mehr Swappen kannst. Durch das Laden nur der relevanten Texturen kannst du das dann nochmals steigern.

Und nein, Bandbreite wächst nicht auf Bäumen, aber dafür gibt es ja "intelligente" Möglichkeiten zu erfahren, was man braucht, und was nicht. Dadurch reduziert sich die Menge an Texturen, die man nachladen muss beträchtlich. VOR ALLEM! wenn man in Kombination eben wieder nur die Texturteile nachladen muss, die man wirklich braucht ;)

Das Beispiel mit dem Mars zeigt doch am deutlichsten, was man alles schaffen kann durch die neuen Hardwaremöglichkeiten. Du hast da Ja Texturen im Bereich von mehreren GB, und verwendest nur 16MB VRAM. Jetzt überleg mal, wieviel Spielraum du bekommst, wenn du 1, 2 oder gar 3 GB VRAM hast. Für die APUs der Konsolen ist es eh egal, weil es bei denen "nur" 8GB für alles sind. Da wirds etwas schwieriger, weil die Alternative eben laden von HDD wäre.

In den meisten Spielen hast du aber auch abrupte Übergänge, bei denen dir Trigger nicht helfen können. Wenn ich das Fernglas aktiviere, dann werde ich garantiert nicht akzeptieren, dass die höheren Texturauflösungen erst nach 10-20 Frames nachgeladen worden. Wenn ich mich ruckartig umdrehe, will ich sofort alles sehen, etc.
Dann hast du nen "schwarzen Bildschirm" für 1-2 Frames Minimum. Eher sogar mehr, da du ja meist eine mini Animation hast, in der du das Fernglas aufsetzt.

Da kannst du so einiges nachladen. Du musst ja auch folgendes bedenken. Wenn du eben die neuen Techniken verwendest, dann musst du eben immer nur einen ganz kleinen Teil der Texturen laden.

Nur mal um die Größenordnung ab zu schätzen. Du hast ja z.B. 1920*1080 Pixel, also ~2,1MPixel. Bei 24 Bit je Pixel, sind das gerade mal ~6MB an Daten. Dann hast du für jeden Pixel neue Bildinformation. Ok klar, dadurch das Texturen schief sind sind es mehr, als mehr als einen Faktor 10 wirst du nicht mehr haben.

Du bist da also in nem Bereich, wo du selbst bei komplettem Neuladen nur etwa ein "schwarzes" Bild brauchst, um die Daten komplett zu laden. Das kann man durchaus mal einstreuen.

Von Explosionen ganz zu schweigen. Wenn sowas alles über Preloading läuft, dann habe ich am Ende doch wieder eine Verwaltung der Ladevorgänge in Software und die Vorteile sind gering.
So Sachen wie Explosionen usw würde man eh immer im RAM lassen. Man hat ja 1-3GB und nicht nur die 16MB wie aus der Mars Demo ;)

Schnelle Bewegungen sollten wesentlich leichter und, wäre es denn echtes Megatexturing, sogar in Hardware regelbar sein. Schließlich sind die durch das Spielprinzip sehr gut linear interpolierbar.
Stell dir jetzt aber vor, du stehst mit dem Rücken in einem Durchgang oder vor einer Felswand. Es kann da schon durchaus zu Problemen kommen.

Wobei ich zugeben muss, nachdem ich mir das oben nochmal durchgedacht habe, sollte es eigentlich nicht mal DAS Problem sein. Schnelle Bewegungen sind da eher das Problem, wenn man sich durch einen weiten Raum bewegt.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Nur mal um die Größenordnung ab zu schätzen. Du hast ja z.B. 1920*1080 Pixel, also ~2,1MPixel. Bei 24 Bit je Pixel, sind das gerade mal ~6MB an Daten. Dann hast du für jeden Pixel neue Bildinformation. Ok klar, dadurch das Texturen schief sind sind es mehr, als mehr als einen Faktor 10 wirst du nicht mehr haben.

Mutlitexturing? Mehrere Mip-Mapstufen? Verschnitt?
Auch mit dem neuen Verfahren wirst du erst NACH dem Renderingdurchlauf wissen, welche Informationen genau du für jedes Pixel brauchst.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Ja, es "interessiert" dich nur eben nicht. Das Nachladen der "richtigen" Pixel aus den Texturen wird ja von der Hardware initialisiert.

Klar, du darfst nicht zu viel Nachladen müssen, aber bis zu einem gewissen Grad kann es dir scheis egal sein.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Wie anhand mehrere Beispiele ausgeführt, kann es sein, dass du den kompletten Bildinhalt nachladen musst. Und wenn es dich nicht interessiert, dass auch die Hardware frühestens einen Frame später selektiv nur die dargestellten Elemente laden kann, dann wirst du deinen Spielern bei jeder abrupten Bewegung einen ordentlichen Ruckler präsentieren dürfen. Und danach dauerts noch 1-2 weitere Frames, bis alle Details aufpoppen. ODER du denkst weiterhin mit und stellst sicher, dass die unmittelbare Umgebung komplett im VRAM vorgehalten werden kann und überlässt der Hardware nur das Streamen neuer Bereiche.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Du musst "nur" die wirklich problematischen Sachen eigentlich im VRAM halten, also gerade so Sachen wie Texturen für Explosionen, Hauptcharaktere usw usw. Der Rest lässt sich eigentlich ziemlich gut automatisch abfangen.

Wie gesagt, theoretisch kann man sogar alles automatisch machen lassen, aber dann läuft man halt Gefahr unnötig Performance zu verlieren. Zudem kann man eben besser alles vollknallen mit High-Res-Texturen.

Allein wenn man die niedrigst aufgelöste Textur für alles im VRAM lässt, und nur die besseren dann von der Hardware dynamisch nachladen lässt, sollte die meisten Probleme deutlich reduzieren.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Allein wenn man die niedrigst aufgelöste Textur für alles im VRAM lässt, und nur die besseren dann von der Hardware dynamisch nachladen lässt, sollte die meisten Probleme deutlich reduzieren.
Genau das hat ID bei Rage gemacht und es sah bescheiden aus. Allerdings wird sich so schnell kein anderer an Texturen in dieser Größe versuchen. Du musst ja auch nicht alles sofort mit Megatexturen zuballern. Es reicht ja schon, wenn du das alte System verwendest (<- Kachelbare Texturen, Mip Maps) und die Megatexture zum Beispiel nur als Dirtmap nimmst. Damit sieht auch nichts gleich aus und du hast Arbeitsstunden beim Texturierer + die am Stärksten auffallenden Nachladeprobleme behoben.

Warum zur Hölle brauch ich bei Explosionen eine oder mehrere große Texturen? In welchem Jahr sind wir? 2004? :ugly:
 
Zuletzt bearbeitet:
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Wobei das eben eine reine Softwarelösung war/ist.

Die hängt stark von der CPU ab. Mit dem E8400@4GHz war es ein Graus! Mit dem i7-920@3,5GHz geht es eigentlich ganz gut. Da ist eigentlich nur noch die Drehung wirklich problematisch. Die Hardwarelösung sollte aber deutlich performanter sein.
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Rage fordert wenigstens die CPU, gerade mit Upsampling :ugly:
 
AW: DirectX 11.2 bringt Hardware-Support für Mega-Texturing

Definitiv, wobei ich mich schon immer gefragt habe, ob PCI-E 3.0 das Problem mit den Drehungen noch weiter entschärft im Vergleich zu 2.0

Dazu weiß ich aber leider zu wenig darüber, wie die Daten genau bearbeitet werden, und zur GPU kommen. Ich vermute aber schon, dass das nochmals etwas bringt.

Ihr wollt das nicht eventuell mit nem einprogrammierten "Mausmakro" und eurer High-Speed-Kamera mal testen? :D
 
Zurück