none
Slow Direct 2D performance

    Pergunta

  • Hi.

    I am a c# developer looking at writing a game for W8. I have never touched C++ before but am slowly learning.

    I am trying to draw thousands of squares to the screen and animate them as a perf test, and its turning out terribly. With XNA on my phone I can do a similar thing with around 6000 squares before it starts lagging. On my core i5 with 4Gb ram, I cant even get double that. Im sure I am drawing it wrong or something

    Here is my code, I would appreciate help

    	for (int i = 0; i < 10000; i++)
    	{
    		Pixel p = pixels[i];
    		pixels[i].YPos += 1;
    		m_d2dContext->DrawRectangle(D2D1::RectF(p.XPos, p.YPos, p.XPos + 3, p.YPos +3),m_solidBrush.Get());
    	}

    .

    sábado, 3 de março de 2012 22:17

Respostas

  • Hi ruguemat,

    difficult for me to see a issue with only those lines of code. Where are your BeginDraw & EndDraw methods? Can you paste you main loop here? Direct2D is optimized to send a lot of geometry at once to the GPU - maybe you can optimize for that.

    Did you already have a look here: http://msdn.microsoft.com/en-us/library/windows/desktop/dd372260%28v=vs.85%29.aspx

    - Paul

    segunda-feira, 5 de março de 2012 11:57