                 textImage.scaleY = 1.0 / densityScale;
                 addChild(textImage);
                 
+                // Don't just invalidate the viewport. Update it now so the
+                // StageText doesn't lag the animation.
                 updateViewPort();
             }
         }

                    }
                    else
                    {
                        // Transform the bottom-right corner of the local rect
                        // instead of setting width/height to account for any
                        // transformations applied to ancestor objects.
                        globalRect.bottomRight = parent.localToGlobal(localViewPort.bottomRight);
                        globalRect.width = Math.floor(globalRect.width);
                        globalRect.height = Math.floor(globalRect.height);
                    }
                }
                

        {
            super.setFocus();
            if (stageText != null)
            {
                // assignFocus doesn't bring up the soft keyboard. We need to
                // ask for it.
                requestSoftKeyboard();
                stageText.assignFocus();
            }
        }
    }
    
