2015-01-13 11 views
0

내가 내 응용 프로그램에 문제가 (윈폼은 [내가 아래 링크는 WPF를 참조하기 때문에이 문제가되지 않습니다 희망), 내 모든 문제에 대해 설명 동일한 여기로 :SlimDX에서는 Direct3D 장치 생성

Fast Video Display WPF

많은 비디오 스트림을 표시하려면 그림이 매우 느리고 fps가 낮아짐을 알았던 것보다 그림 상자로 작업하는 데 사용되었습니다.

나는에서는 Direct3D와 함께 작동하도록 사람의 조언받는 듣고 있지만 은 내가 constractor에 문제가있어 :

Texture2D tex = new Texture2D(Device, texDesc); 

가 어떻게 장치를 보낼 수 있습니까? 장치가 객체가 아닌 유형입니다. SlimDX ofc, Direct3D11 과 어떻게 작동하는지 직접 확인하거나 자체 장치를 만들려고 시도하는 중입니다. FPS 및 그림을 최적화 할 수있는 다른 방법이있는 경우 또는 누구든지이 문제를 처리 할 수있는 컨트롤을 만들었 으면 도 해당됩니다. dorbenshimon1 {at} gmail { 덕분에 많이

답변

1

당신은 일종의 질문에 답했습니다 - 당신이 만든 Device 인스턴스를 전달해야합니다. 타입이 아닙니다.

어떻게 수행되는지 보려면 뷰포트 설정 예제를보십시오.


의견에 따르면, 빠른 이미지 붙여 넣기를 수행하려는 경우 DirectX는 거의 올바른 도구가 아닙니다.

using System.Windows.Forms; 

public class FastImageRedraw : Panel 
{ 
    private Image image; 

    public FastImageRedraw() 
    { 
     this.SetStyle(ControlStyles.UserPaint, true); 
     this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); 
     this.SetStyle(ControlStyles.DoubleBuffer, true); 
     this.SetStyle(ControlStyles.ResizeRedraw, true); 
     this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); 
     this.UpdateStyles(); 
    } 

    public Image Image 
    { 
     get { return this.image; } 
     set 
     { 
      this.image = value; 
      this.Invalidate(); 
     } 
    } 

    protected override void OnPaint(PaintEventArgs e) 
    { 
     e.Graphics.DrawImage(this.Image, e.ClipRectangle); 
    } 
} 

그것은 아주 기본적인,하지만 그것은 당신이 그것을 변경하는 경우에만 이미지를 다시 그리는 처리하기 위해 GDI +를 사용하여이 대신에 비슷한보십시오. 이 fastImage.Image = myImage;

+0

참으로 변경 될 때마다 var fastImage = new FastImageRedraw();

표준 등의 인스턴스 CREAT

그런 다음 이미지를 업데이트하는 내가 문제가 내가 함께합니다 deivce의 인스턴스를 만들려고했습니다되어, 약 힘든 Direct3D11 그리고 그것을 어떻게 해야할지 모르겠다, 제발 나를 안내해 줄 수 /이 예제를 찾을 수 있습니까? – DBS

+0

http://slimdx.org/tutorials/DeviceCreation.php – Octopoid

+0

글쎄, 나는 프로가 아니거나 directX에서 큰 이해를 가지고있다. (처음 엔 끝내야한다) 어쩌면 이미 컨트롤을 사용할 수있다. SlimDX와 그는 이미지를 그리는 데 최적화되어 있습니까? – DBS