D3D is missing a loop for uploading data from a ThreeByteBgr image
into a texture, so the upload for these images happens through a
generic loop which is slow and uses an intermediate image
(so there's one extra copy and some GC activity if the intermediate
image is collected).
ThreeByteBgr is often used by video decoders (directshow specifically)
so the upload happens on every frame.