.[ ČeskéHry.cz ].
Obnova dat ve VertexBufferu v každém snímku & výkon

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
yaqwsx



Založen: 25. 02. 2008
Příspěvky: 66

PříspěvekZaslal: 12. duben 2011, 19:53:52    Předmět: Obnova dat ve VertexBufferu v každém snímku & výkon Odpovědět s citátem

Chystám se vytvořit pro své účely malé technické demo. Při návrhu jsem však narazil na problém - v určitých chvílích bych potřeboval data ve VertexBufferu měnit s každým snímkem.
Jaký by to mělo dopad na výkon? Popř. jak se řeší situace, kdy je potřeba s každým bodem "pohnout jiným směrem", respktive tranformace geometrie se nedá popsat jednou transformační maticí?

Předem děkuji za odpověď.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 12. duben 2011, 20:27:42    Předmět: Odpovědět s citátem

Na výkon to může mít neblahý vliv, pokud si nedáš pozor. Když mapuješ vertex buffer (funkce *Map* nebo *Lock*), měl bys použít flag, kterej původní data zahodí, jmenuje se DISCARD, INVALIDATE, nebo tak nějak.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
yaqwsx



Založen: 25. 02. 2008
Příspěvky: 66

PříspěvekZaslal: 12. duben 2011, 20:31:25    Předmět: Odpovědět s citátem

Takže když dodržím určité zásady, tak v podstatě není problém? To jsi mě potěšil! Díky za rychlou odpověď.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 13. duben 2011, 07:50:15    Předmět: Odpovědět s citátem

A je dobrý použít na to doublebuffering a případně to ještě plnit paralelně.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
yaqwsx



Založen: 25. 02. 2008
Příspěvky: 66

PříspěvekZaslal: 13. duben 2011, 13:12:59    Předmět: Odpovědět s citátem

Paralerním plněním myslíš, že bych měl sólo vlákno na vykreslování a jakmilech bych začal kreslit, tak bych v jiném vláknu začal plnit "back buffer" vertexů?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 13. duben 2011, 13:23:30    Předmět: Odpovědět s citátem

Ano, tak to myslím, prostě jen pro tu operaci plnění back vertex-bufferu mít vlastní vlákno. Tuším, že to jde, když buffer lockneš na hlavním vlákně, kde běží rendering. Plnění pak může běžet z jiného vlákna. Ale sám jsem to nedělal, jen viděl, proto kdyžtak pohledej.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
yaqwsx



Založen: 25. 02. 2008
Příspěvky: 66

PříspěvekZaslal: 13. duben 2011, 13:47:37    Předmět: Odpovědět s citátem

Ok, pohledám. Díky za nasměrování.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna