Export (0) Print
Expand All
3 out of 7 rated this helpful - Rate this topic

Game.Draw Method

Called when the game determines it is time to draw a frame. Override this method with game-specific rendering code.

Namespace: Microsoft.Xna.Framework
Assembly: Microsoft.Xna.Framework.Game (in microsoft.xna.framework.game.dll)

protected virtual void Draw (
         GameTime gameTime
)

Parameters

gameTime
Type: GameTime
Time passed since the last call to Draw.

Update and Draw are called at different rates depending on whether IsFixedTimeStep is true or false. If IsFixedTimeStep is false, Update and Draw will be called sequentially as often as possible. If IsFixedTimeStep is true, Update will be called at the interval specified in TargetElapsedTime, while Draw will continue to be called as often as possible.

Bb196422.caution(en-us,XNAGameStudio.41).gifCaution

In the Draw method of an Xbox 360 game, vertex buffers, index buffers, and textures should not be written using SetData when they are intended to be used for rendering. This condition may lead to graphics corruption or crashes. To avoid this potential issue, use DrawUserPrimitives or DrawUserIndexedPrimitives as the preferred alternative to VertexBuffer.SetData for dynamic vertex generation. In cases where the size of the back buffer and depth stencil buffer exceed the size of the Xbox 360 10 MB of embedded memory (EDRAM), predicated tiling is used on this platform to compensate for the additional memory requirements. Predicated tiling is a process by which scene rendering is performed multiple times on subsections of the final render target dimensions.

When predicated tiling has been triggered, the drawing commands contained in the Draw function are not submitted until Present is called. (Note that Draw implicitly calls Present at the end of this method.) In this case, these resources are not available for modification until the GPU is finished with presenting the entire frame.

In classes that derive from Game, it is necessary to make these calls:

  • Call base.Draw in Draw to enumerate through any graphics components that have been added to Components. This method will automatically call the Initialize method for every component that has been added to the collection.
protected override void Draw( GameTime gameTime )
{
  base.Draw( gameTime );
}
    
Xbox 360, Windows 7, Windows Vista, Windows XP
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.