예를 들어 실제로 변경되는 유일한 것으로 복잡한보기가있는 경우 캐럿이 있으므로 캐럿을 업데이트하기 위해 전체 장면을 다시 그리지 않고 싶습니다.GPU를 사용하여 더블 버퍼링 된 표면에서 텍스트 입력 컨트롤의 캐럿을 그리는 방법은 무엇입니까?
현재로서는 커서를 사용하지 않고 콘텐츠를 캐싱하는 방법 밖에 없습니다. 이것은 너무 나쁜 것 같지는 않지만 항상 텍스처로 렌더링하거나 텍스처로 렌더링할지 여부를 결정해야합니다.
아마도이 문제는 "GPU로 거의 정적 인 복잡한 장면을 처리하는 올바른 방법"으로 일반화 할 수 있습니다.
예를 들어, 게임과 관련이없는 경우 우려 사항에 대해 : | 웹 브라우저 나 WPF UI와 마찬가지로 후자는 항상 텍스처에 렌더링됩니다. – BlueWanderer
그래, 최신 GPU (모바일 GPU에 익숙하지 않은)는 아무 것도 캐시하지 않으므로 대부분의 캐싱 메커니즘은 소프트웨어에 있습니다. 따라서 주로 관리하는 애플리케이션 별 캐시의 수를 조정합니다. WRT WPF에서 시각적 계층 구조의 각 노드에는 플래그 "비트 맵 캐시"가 있습니다. 노드와 그 자식이 렌더링 될 때마다 비트 맵에 다시 캐쉬 될 때까지 캐시됩니다. 블라인드하게 모든 플래그를 활성화하면 성능이 훨씬 떨어질 수 있습니다. 브라우저의 경우에도 스크롤/DOM 업데이트로 인해 화면을 다시 그려야합니다. DOM 렌더링은 경험적 방법을 사용하여 캐시합니다. – Unknown1987