The box is a beast

...Dell T5400 Workstation...plus a 2nd quad-core... 8 Gigs, NVIDIA Quadro FX 1700 (512 Megs)...sooooo much fun...downside is that everything else I use seems dreadfuly slow.
I don't use begin_text and end_text...didn't know about it...will look into it.
Have changed the ForEach to a classic for...no discernable effect.
I've simplified the main loop to further isolate the issue.
while (DoLoop == true)
{
Check_Movement();
globals.TV.Clear(true);
globals.Atmos.SkyBox_Render();
for (int MapNum = 0; MapNum < Maps.Length; MapNum++)
{
for (int cNum = 0; cNum < Maps[MapNum].ScCircles.Length;cNum ++)
{
if (Maps[MapNum].ScCircles[cNum] != null)
{
int ScaleXY = 15;
TV_3DVECTOR circPos =
Maps[MapNum].ScCircles[cNum].CircleMesh.GetPosition();
//Huge performance hit follows
globals.TextManager.TextureFont_DrawBillboardText("Hello",
circPos.x, circPos.y + 15 + ScaleXY - 8,
circPos.z, globals.Globs.RGBA(0.0f, 1.0f, 1.0f,
1.0f), globals.Arial12, ScaleXY,
ScaleXY);
}
}
}
globals.Scene.RenderAllMeshes(true);
globals.TV.RenderToScreen();
Thanks for all help.