m_laszkiewicz napisał(a)
Hej..
Chce wyświetlić elementy punktowe,
mam ich około 850.000...
Korzystam z DirectX-CustomVertex.PositionColored...DrawUserPrimitives
Punkty wyświetlają się, ale strasznie wolno to wszystko działa(zamula mi kompa)...
Jak zoptymalizować rendering?
P.S Jestem początkujący z DirectX (na Windows7) wiec za każda wskazówkę z góry dzięki...
nie używaj DrawUserPrimitive - ta funkcja przepycha wszystkie wierzchołki przez AGP/PCIe podczas każdego rysowania, dlatego nie uzyskasz nią dobrej wydajności przy takiej liczbie punktów. 85000044 = ~13MB per frame (850k * (x,y,z +kolor)*4bytes) do przesłania przez szynę - to dużo.
W zamian stwórz statyczny VertexBuffer (DXSDK) - wrzuć do niego raz wierzchołki - zostaną one umieszczone w pamięci karty i rendering przebiegnie tak szybko na ile pozwoli wydajność GPU.