제가 그래픽 쪽 프로그램을 짤 때는 주로 폼이나(윈도우) 뷰(안드로이드)에 생성될 가상의 객체(GDI 등등)들을 만들고 Invalidate 하여 출력하는 식으로 만들었었습니다.
즉, GPU가 할 일을 CPU가 하도록 만들었죠. (안드로이드는 모르겠지만)
그래서 항상 제가 만든 그래픽 프로그램들은 객체 수가 적어도 CPU 사용이 20%를 기본으로 넘었습니다.
이 비효율을 줄일 방법이 없을까 해서 DirectX를 손대려 했는데, 너무 어려운겁니다! 디바이스니 랜더링이니 백터니...
그래서 Direct2D를 접하게 되었고, 확실히 코딩도 쉽고 리소스 점유도 낮아졌어요. 1080p 60fps 짜리 동영상을 뿌려도 cpu 점유가 5%를 안넘더군요.
제가 궁금한건, 정말 Direct2D가 좋은 API일까요? 아니면 PHP나 VB같이 접근하기만 쉽고 견고함이 없는 API일까요?
ms가 굳이 DX11부터 2D용 API를 따로 만들어 준 건 좋은 의도인 것 같은데, 이게 프렉탈로 확 변해버릴지 걱정입니다.