2021년 6월 25일 금요일

DirectX11 최적화 중 알게된거

1. UpdateSubresource VS Map

링크

 

1. UpdateSubresource 

2. Staging 으로 Copy 본 만들어서 Map/UnMap 후 CopyResource

위 두 경우는 CPU 에서 GPU 로 값을 올리는데 걸리는 시간이 큼. 

(전자는 강제로 묶이고 후자는 복사해야하고)

장점은 Default 같은 Flag 로 생성해도 상관없다는 것. 


3. Dynamic 으로 생성해서 Map/Unmap 

GPU 가 값을 읽는건 오래걸리지만 CPU->GPU 는 빨라서 틱마다 할땐 좋음.


이라는데 반대의 진술도 있음.

대략 10퍼의 성능차가 있다는 이야기도 보았음.

걍 암거나 쓸까.


2. RTT

rasterizer 이후에서 되게 잡아먹음.

텍스쳐를 5개 넣으니까 fps 900 -> 500 정도로 낮아짐


3. Clipping, Culling

PS 에서 거르면 Clipping, (RS 이전임)

Vertex 에서 거르면 Culling

SV_CullDistance, SV_ClipDistance 로 조절 가능함.

이때 Cull/Clip 합쳐서 float 8 개만 가능함

그래서 Cull0+Cull1 or Cull + Clip or Clip0 + Ciip1 이렇게만 가능함


4, Shader 에서 If 문이 느린 이유

https://blog.hybrid3d.dev/2020-12-21-reason-for-slow-of-if-statement-in-shader




댓글 없음:

댓글 쓰기

List