public void paint(Graphics g){
    int width = getWidth(), height = getHeight();
    if (!renderInit || gameCache == null) {
      if (loader != null) {
        loader.paint(g);
      }
    } else {
      if (width != oldW || height != oldH) {
        _ginit();
        oldW = width;
        oldH = height;
      }
      gameCache.Render(width,
                       height,
                       frameCache,
                       bgImage,
                       colors,
                       (Graphics2D)_g);
      g.drawImage(img, 0, 0, null);
    }
  }