c# - Draw texture using D3D9 -


i want draw bitmap using d3d9.. got code here , works out. draw me box , image, when draw box got fps around 60. when uncomment code drawing bitmap got fps between 5-30 , it's lagging. what's wrong code ?

private void d3d9render() {         {         drawing.device.clear(d3d9.clearflags.target, color.fromargb(0, 0, 0, 0), 1.0f, 0);         drawing.device.beginscene();         drawing.drawtext("fps : " + fps.calculateframerate().tostring(), drawing.width - 72, 220, color.white);          drawing.drawbox(v.x, v.y, 90, 7);     /*             drawing.drawtexture(new bitmap("test.jpg"));             drawing.sprite.begin(d3d9.spriteflags.none);             drawing.sprite.draw(drawing.texture, drawing.texturesize,             new vector3(0, 0, 0),             new vector3(v.x-65, v.y-55, v.z), color.white);             drawing.sprite.end();     */         drawing.device.endscene();         drawing.device.present();      } while (true);  }   public static void drawtexture(bitmap image) {     texture = new texture(device, image, usage.none, pool.managed);      using (surface surface = texture.getsurfacelevel(0))     {         surfacedescription surfacedescription = surface.description;         texturesize = new rectangle(0, 0,                           surfacedescription.width,                           surfacedescription.height);     } } 

have tried allocating bitmap outside of render loop? depending on size of bitmap, slow things down. you're allocating , re-allocating space bitmap each iteration of loop.

move allocation outside of loop , render (that 1 allocation) in render loop.


Comments