メモリ管理やUSAGEの組み合わせで気になったので調査.
生成時フラグ
| D3DPOOL | D3DUSAGE | 結果 |
|---|---|---|
| Default | 0 | OK |
| Default | WRITEONLY | NG |
| Default | DYNAMIC | OK |
| Managed | DYNAMIC | NG |
| SystemMem | DYNAMIC | OK |
| Default | DYNAMIC RENDERTARGET | OK |
| Default | RENDERTARGET | OK |
ロック時フラグ
| タイプ | ロック手法 | 結果 |
|---|---|---|
| Default&Dynamic&&RenderTarget | 0 | NG |
| Default&RenderTarget | 0 | NG |
| Default&RenderTarget | D3DLOCK_READONLY | NG |
| Default&Dynamic&&RenderTarget | D3DLOCK_DISCARD | NG |
| Default&RenderTarget | D3DLOCK_DISCARD | NG |
| Default&Dynamic | D3DLOCK_READONLY | OK |
| Default&Dynamic | D3DLOCK_DISCARD | OK |
| SystemMem&Dynamic | D3DLOCK_READONLY | OK |
| SystemMem&Dynamic | D3DLOCK_DISCARD | OK |
感想
意外だったのは SystemMemでDynamicタイプを作れること。
それでもSystemMemでRenderTargetは無理でしたが(当たり前)。
