private Program() { form = new RenderForm("Struct-of-Structs"); graphics = new Graphics(800, 600, false, form.Handle); input = new Input(form); Timer = new TimerTick(); OnCleanup += graphics.Dispose; OnCleanup += input.Dispose; OnCleanup += form.Dispose; }
public void Start() { m_timer = new TimerTick(); System.Windows.Media.CompositionTarget.Rendering += CompositionTarget_Rendering; }
/// <summary> /// Starts the used resources. /// </summary> /// <returns>If everything initialized properly.</returns> public static bool Initialize() { Timer = new TimerTick(); InitializeWindow(); Graphics = new Graphics(); if(Graphics != null) if(!Graphics.Initialize(Height, Width, RenderForm.Handle)) return false; Input = new Input(); if(Input != null) Input.Initialize(RenderForm); return true; }
public DrawingSurfaceSIS(IRenderer renderer1, IRenderer renderer2) { gameTime = new GameTime(); totalGameTime = new TimeSpan(); timer = new TimerTick(); IsFixedTimeStep = true; maximumElapsedTime = TimeSpan.FromMilliseconds(500.0); TargetElapsedTime = TimeSpan.FromTicks(10000000 / 60); // target elapsed time is by default 60Hz lastUpdateCount = new int[4]; nextLastUpdateCountIndex = 0; // Calculate the updateCountAverageSlowLimit (assuming moving average is >=3 ) // Example for a moving average of 4: // updateCountAverageSlowLimit = (2 * 2 + (4 - 2)) / 4 = 1.5f const int BadUpdateCountTime = 2; // number of bad frame (a bad frame is a frame that has at least 2 updates) var maxLastCount = 2 * Math.Min(BadUpdateCountTime, lastUpdateCount.Length); updateCountAverageSlowLimit = (float)(maxLastCount + (lastUpdateCount.Length - maxLastCount)) / lastUpdateCount.Length; timer.Reset(); gameTime.Update(totalGameTime, TimeSpan.Zero, false); //gameTime.FrameCount = 0; Init(renderer1, renderer2); }
//public DrawingSurfaceSIS(IRenderer renderer, DeviceManager deviceManager) public DrawingSurfaceSIS(Action<GameTime> updateRendererAction, Action<TargetBase> renderRendererAction, Action<DeviceManager> initializeRendererAction, Action<Windows.UI.Xaml.UIElement, Windows.UI.Xaml.UIElement> initializeUIRendererAction, Action<string> loadAssetUriRendererAction, Action unloadRendererAction, DeviceManager deviceManager) { _deviceManager = deviceManager; _updateRendererAction = updateRendererAction; _renderRendererAction = renderRendererAction; _initializeRendererAction = initializeRendererAction; _initializeUIRendererAction = initializeUIRendererAction; _loadAssetUriRendererAction = loadAssetUriRendererAction; _unloadRendererAction = unloadRendererAction; gameTime = new GameTime(); totalGameTime = new TimeSpan(); timer = new TimerTick(); IsFixedTimeStep = true; maximumElapsedTime = TimeSpan.FromMilliseconds(500.0); TargetElapsedTime = TimeSpan.FromTicks(10000000 / 60); // target elapsed time is by default 60Hz lastUpdateCount = new int[4]; nextLastUpdateCountIndex = 0; // Calculate the updateCountAverageSlowLimit (assuming moving average is >=3 ) // Example for a moving average of 4: // updateCountAverageSlowLimit = (2 * 2 + (4 - 2)) / 4 = 1.5f const int BadUpdateCountTime = 2; // number of bad frame (a bad frame is a frame that has at least 2 updates) var maxLastCount = 2 * Math.Min(BadUpdateCountTime, lastUpdateCount.Length); updateCountAverageSlowLimit = (float)(maxLastCount + (lastUpdateCount.Length - maxLastCount)) / lastUpdateCount.Length; timer.Reset(); //gameTime.Update(totalGameTime, TimeSpan.Zero, false); //gameTime.FrameCount = 0; //this.FrameCountPerRender = 1; //by default every frame results in a dxsurface render this.InitializeComponent(); //_effectRenderer = renderer; _hasEffectRenderer = true; }