Способ сделать внеэкранный рендеринг с аппаратным ускорением - выделить IDXGISurface с DXGI, а затем использовать ID2D1Factory :: CreateDxgiSurfaceRenderTarget () для его рендеринга.
К сожалению, я думаю, что это все еще не будет работать для сервера, так как службы работают в сеансе 0, который не допускает аппаратного ускорения. Я в тумане от специфики.
Другое «к сожалению» то, что работа с ресурсами DXGI намного сложнее, чем что-либо в Direct2D. Много "документов" для заполнения и прочее.