FSAA? Multisampling?
-
Azrael, il Meraz schrieb:
rapso schrieb:
und jeder gpu hersteller sagt, dass man 32byte allignen soll, damit man den cache besser ausnutzt. das haette wenig sinn wenn der cache gross waere.
moment mal. 32 BYTE? oder doch bit?
byte
kleiner als 32bit koenntest du garnicht allignen, das muesste man also nicht explizit nennen 
-
gilt das jetzt für interleavte buffer oder allgemein?
-
hab ich gerade in den hardware manuals die ich von den wichtigsten gpus habe nachgesehen, laut denen ist es ein bruchteil von dem was eine normale cpu als L1 cache hat
In den Unterlagen vom XDK (XBox1 wohlbemerkt) wird die Groesse mit 4kB beziffert.
Fuer aktuelle GPUs findet man wenig konkretes aber haeufig dieses:Pre T&L cache:
– Much larger than post T&L cache:
– On GeForce FX 3000: ~8,000 vertices
– On GeForce FX 6800: ~64,000 vertices
-
Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?
-
hellihjb schrieb:
hab ich gerade in den hardware manuals die ich von den wichtigsten gpus habe nachgesehen, laut denen ist es ein bruchteil von dem was eine normale cpu als L1 cache hat
In den Unterlagen vom XDK (XBox1 wohlbemerkt) wird die Groesse mit 4kB beziffert.
nett dass du an NDA informationen freigibst

und 128 vertices find ich schon recht winzig und du wuerdest erstaunt sein wie wenig sich dieser wert veraendert hat.Fuer aktuelle GPUs findet man wenig konkretes aber haeufig dieses:
Pre T&L cache:
– Much larger than post T&L cache:
– On GeForce FX 3000: ~8,000 vertices
– On GeForce FX 6800: ~64,000 verticesvon ati gibt es wohl irgendwo public informationen dass es 32kb sind bei den allerneusten karten.
wie gesagt, das sind winzige caches, verglichen mit der groesse die ein normales mesh hat und sie dienen nur dem streming, entsprechend sieht du sicher auch in deinem nda papern dass sie anders organisiert sind. das sind gerade mal 16 zugriffe von einem vertexshader-array mit 8units.
die zahlen mit 64000vertices, also 2MB (bei 32byte/vertex) hat kein streaming chip.
-
Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?
Nein. Aber eine Verkleinerung auf 32.
-
Azrael, il Meraz schrieb:
Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?
mach 32byte daraus.
.
.
.
doch das geht!
-
hellihjb schrieb:
das paper ist sehr suspekt
die messen nur framerates von 60 30 20 15... vsync?
ihre quadro4 soll 60MTri/s theoretisch schaffen und sie haben 57fps bei 1MTri
im ogl forum gab es einige die fast die wirkliche theoretische leistung von (wenn ich mich recht entsinne) um die 128Mio/s erreichten.
deren zahlen wuerd ich nicht so ganz vertrauen was vertexcache angeht.
-
eh ja und wie geht das? ^^
ich hab ein vertex, welches so aussieht:
typedef struct { AL_byte red; AL_byte green; AL_byte blue; AL_byte alpha; float tu; float tv; float nx; float ny; float nz; float x; float y; float z; } AL_ilvdVertex;welches 4 bytes soll ich denn rausschmeißen?
die vertexfarbe?
-
texturcoordinate aus zwei shorts.
-
wie ist denn der zusammenhang?

hab mal kurzerhand das hier versucht:
vertices[i].tu = mesh->getUVCoordPointer()[i].tu*65535; vertices[i].tv = mesh->getUVCoordPointer()[i].tv*65535;Ist natürlich falsch...
Irgednwie habe ich das gefühl dass die fixed pipeline auch bei short versucht werte zwischen 0 und 1 zu nehmen. zumindest sieht das so aus :). muss man das mit einem Shader regeln? Das wäre nicht so toll denn unsere Schulcomputer können keine Shader "^^. Und ich hatte vor die Engine in der Schule zu verwenden...