private void render()
			{
				long time1 = System.nanoTime();

				BufferStrategy bs = getBufferStrategy();
				if (bs == null)
					{
						createBufferStrategy(2);
						bs = getBufferStrategy();
					}

				if (bs != null)
					{
						Graphics g = bs.getDrawGraphics();

						if (rendering)
							renderableObject.tRenderObject(g);

						long time2 = System.nanoTime();

						/*
						 * Only changes the value 50% of the time, this slows
						 * the flickering of the value in the DEBUG square.
						 */
						if (Tools.randPercent() > 50)
							timeToRender = (int) ((time2 - time1) / 1000000f);

						/*
						 * This block of code draws the square in the top right
						 * corner of the program, it displays the frames per
						 * second ""FPS"", whether the program is rendering (if
						 * an error occours while changing renderableObject it
						 * will be false), and whether the window has focus or
						 * not.
						 */
						if (hub.DEBUG)
							{
								g.setColor(hub.renderer.focused ? Color.black : Color.gray);
								g.fillRect(hub.frame.getWidth() - 130, 0, 130, 50);

								Font font = new Font(g.getFont().toString(), Font.PLAIN, 12);
								g.setFont(font);

								g.setColor(Color.white);
								g.drawString("FPS: " + hub.renderer.lastFrames, hub.frame.getWidth() - 130, 15);
//								g.drawString("Rendering: " + hub.renderer.rendering, hub.frame.getWidth() - 130, 30);
//								g.drawString("Focused: " + hub.renderer.focused, hub.frame.getWidth() - 130, 45);
								g.drawString("Tick (micros): " + timeToTick, hub.frame.getWidth() - 130, 30);
								g.drawString("Render (millis): " + timeToRender, hub.frame.getWidth() - 130, 45);
							}

						g.dispose();
						bs.show();
					}
			}