1

デスクトップをストリーミングしようとしましたが、問題は、GDI を使用すると 8/10 fps になり、SlimDX を使用すると 1 fps になることです。

GDI

Bitmap bmp = new Bitmap(1680,1050);

Graphics g = Graphics.FromImage(bmp);

g.CopyFromScreen(0, 0,0, 0, new System.Drawing.Size(1680,1050));

シャープDX

PresentParameters present_params = new PresentParameters();
present_params.Windowed = true;
present_params.SwapEffect = SwapEffect.Discard;
present_params.BackBufferCount = 1;
present_params.FullScreenRefreshRateInHertz = 0;
Device d = new Device(new Direct3D(), 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.SoftwareVertexProcessing, present_params);

Surface s = Surface.CreateOffscreenPlain(d, 1680, 1050, Format.A8R8G8B8, Pool.Scratch);

d.GetFrontBufferData(0, s);

bmp = new Bitmap(SlimDX.Direct3D9.Surface.ToStream(s, SlimDX.Direct3D9.ImageFileFormat.Bmp));

そして...ビットマップでサーフェスをバックアップする必要があります。少し早いですがお礼を !

4

0 に答える 0