Pergunta

Estou usando o Direct2D em C# para renderizar uma pequena estrutura da GUI para o meu projeto de pesquisa. Não estou muito acostumado a trabalhar no Windows ou com o DirectX. Estou usando um controle do Windows Forms para criar um alvo de renderização, e o MSDN alerta que, como ele usa o BINDDC, quanto maior o alvo de renderização, pior o desempenho será (o que acabou sendo uma diferença dramática, quando maximizo o Janela, eu pego cerca de 15 fps).

Qual seria a melhor maneira de criar um alvo de renderização para o Direct2D? Existe uma maneira de criar uma janela e render -lhe diretamente, em vez de renderizar primeiro o buffer de um controle e depois renderizá -lo? Se sim, como?

Desculpe se meu inglês é péssimo, não meu idioma nativo.

Foi útil?

Solução

Em vez disso, você deve usar o CreateHWNDrenderStarget, usando a propriedade Handle do Control. Para fazê -lo completamente certo, crie seu próprio controle e substitua o método OnHandLecRed (). E substitui o onpaintbackground () e não faça nada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top