图形API可以分为retained-mode APIs(保存模式API)和immediate-mode APIs(中间模式API). Direct2D是immediate-mode API,而Windows Presentation Foundation(WPF)是retained-mode API.
Retained-mode API:
用户程序使用图元(基本几何图形)构造一个场景,如某形状,直线等。。图形库保存一个场景模型在内存中。要画一帧图形,图形库把场景转换成为一系列的画图命令,在帧与帧之间,图形卡保存场景数据在内存中。要改变图形,程序发出命令更新场景。图形库负责重画场景。
一个immediate-mode API是过程式的。每次更新一个帧,程序直接发出画图命令。帧与帧之间,图形卡不存储场景模型,而是由程序控制场景变化。
Retained-mode APIS使用起来更加简单,因为API自动做了更多的工作,如初始化,状态管理,和消耗对象等。但是就没有那么多灵活性。而且要求更多内存。
immediate-mode API灵活性高,可以针对场景进行优化。
Reference: MSDN