none
Duda con controles,WPF ,render,directX RRS feed

  • Pregunta

  • Buenas tardes quisiera realizar la siguiente consulta

    llevo semanas buscando por internet una forma optima de renderizar bitmaps en un formato de 60fps o como minimo 30fps (frame per second)

    intento simular un espectometro de musica

    yo logro haciendo esta forma

        Protected Overrides Sub OnRender(dc As DrawingContext)
            MyBase.OnRender(dc)
            If Me.IsVisible Then
                Using memory As New MemoryStream
                    If Not IsNothing(_Foto) Then
                        Try
                            _Foto.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp)
                            memory.Position = 0
                            _Imagen = New BitmapImage
                            _Imagen.BeginInit()
                            _Imagen.DecodePixelHeight = Me.ActualHeight
                            _Imagen.DecodePixelWidth = Me.ActualWidth
                            _Imagen.StreamSource = memory
                            _Imagen.CacheOption = BitmapCacheOption.OnLoad
                            _Imagen.EndInit()
                            dc.DrawImage(_Imagen, New Rect(0, 0, ActualWidth, ActualHeight))
                        Catch ex As Exception

                        Finally
                            _Foto.Dispose()
                            _Foto = Nothing
                            _Imagen = Nothing
                        End Try
                    End If
                End Using
                'GC.Collect(GC.MaxGeneration)
            End If
        End Sub

    pero tengo muchos problemas con el rendimiento del CPU

    estube leyendo sobre hacerlo en DirectX y usando la GPU

    alguna idea ? de verdad necesito plantear 1 control en donde su render use el GPU directamente para lograr renderizar de forma optima,saludos.



    • Editado Spiritdead domingo, 28 de julio de 2013 18:14
    domingo, 28 de julio de 2013 17:58