public void Run()
        {
            if (!Initialize())
            {
                return;
            }

            GC.Collect();

            while ((uint)Video.WindowEvent.WM_QUIT != Video.msg.message)
            {
                if (Video.PeekMessage(ref Video.msg, IntPtr.Zero, 0, 0, 1))
                {
                    Video.TranslateMessage(ref Video.msg);
                    Video.DispatchMessage(ref Video.msg);
                }
                else
                {
                    Video.Update();
                    Video.BeginRender();
                    Video.EndRender();

                    Thread.Sleep(1);
                }
            }
        }