OpenGL und Vertex infos
-
ist definitiv nicht der fall, das wuerde den memorymanager ueberlassten
der "lock"-vorgang eines dynamischen vertexbuffers ist auf jeden fall nicht-blockierend, wie der treiber das intern genau loest weiss ich allerdings nicht - vermutlich ein einfacher doublebuffer-mechanismus.
im falle von multipass rendering ist fuer komplexere vertex-operationen (bone-deformationen etc) eine cpu-seitige transformation manchmal vorzuziehen; weil sonst jeder vertex mehrmals durch den shader muss...
-
hellihjb schrieb:
der "lock"-vorgang eines dynamischen vertexbuffers ist auf jeden fall nicht-blockierend, wie der treiber das intern genau loest weiss ich allerdings nicht - vermutlich ein einfacher doublebuffer-mechanismus.
der buffer liegt dann im normalen speicher und wird bei bedarf und falls er gelockt war neu auf die graka kopiert. heist aber auch, dass die graka nicht mehr als ein lock asynchron laufen kann, wenn man den buffer mehrmals pro frame locken wuerde, wuerde es vermutlich sehr langsam werden (die moeglichkeit dass der treiber mehrere buffer anlegt statt nur einem ist natuerlich da).
-
der buffer liegt dann im normalen speicher und wird bei bedarf und falls er gelockt war neu auf die graka kopiert
genau das duerfte eigentlich nicht der fall sein.
unter verwendungen der vbos (in bezug auf "WRITE_ONLY"-buffer) schreibst du entweder
- in den agp-addressierbaren bereich aus dem die vertexdaten beim rendern gestreamt werden (imho bis geforce3 so gewesen)
- direkt in den grafikspeicherwas auch offensichtlich wird, wenn man versucht aus dem vertexbuffer zu lesen (schneckenlangsam)
darum liegen imho die daten nicht im hauptspeicher, werden direkt ins grafikram geschrieben und es finden keine zusaetzlichen kopiervorgaenge statt.
-
hellihjb schrieb:
- in den agp-addressierbaren bereich aus dem die vertexdaten beim rendern gestreamt werden (imho bis geforce3 so gewesen)
dieser addresierbare bereich ist noch im ram und die graka kopiert sich die daten hoch bei bedarf. probier einfach mal aus, aus dem agp zu lesen, das ist sehr langsam

-
genau das sag ich ja...
unterscheiden sich unsere aussagen noch irgendwie oder sind wir uns einig?
-
Ihr seid vielleicht Helden

Aber interessantes Gespräch

-
Auch wenn ihr lange gebraucht habt um festzustellen das ihr einer meinung wart
..war trotzdem interessant euch zu folgen.Danke