Skip to main content
gamedev.net
🔒 Locked

simple Q - rendering loop

Started by dazscott 1 reply 550+ views
Original Post
dazscott
dazscott
Is it ok in c# to declare primitive variables and loop control variables inside a render loop, or does this eat memory? the code below for example, which just outputs some text to the screen. Is the new Rectangle(...) part going to create a new memory location each time the code is executed, or will it be done only once.
//to draw text inscreen co-ordinates
		private void Draw2DText(string text,Color c,float pos)
		{
			
			int x = this.Width/22;
			float y = (float) this.Height/pos;

			int yInt = (int) Math.Round(y,0);

			font.DrawText(textSprite, text, new Rectangle(x, yInt, 
			this.Width , this.Height ),
			DrawTextFormat.NoClip | DrawTextFormat.ExpandTabs |
			DrawTextFormat.WordBreak , c);
			
		}
circlesoft
circlesoft
Quote:

the code below for example, which just outputs some text to the screen.
Is the new Rectangle(...) part going to create a new memory location each time the code is executed, or will it be done only once.

Yes, every time you use new, it will make a memory allocation. Of course, since you are using C# it will automagically be garbage collected.

Quote:
Original post by dazscott
Is it ok in c# to declare primitive variables and loop control variables inside a render loop, or does this eat memory?

Primitives will be allocated on the stack, so yes they do eat memory, but it is really negligable. Sometimes it's just necessary.
dazscott
dazscott
yeah thats what I expected, The garbarge collector seems to be handling thinks ok for now at least.

thanks for the reply

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.