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