Jump to content
XCOMUFO & Xenocide

Xna Xenocide Profiling Thread - Long


SaintD

Recommended Posts

I ran a .net profiler on Xenocide.

 

Method:

  1. Start Xenocide new game
  2. Start profiling
  3. Run about 2 days of game time at x3600
  4. stop profiling

 

The Data: Sorted by how much time was spent in each function, it's children and any calls it makes to the kernel.

 

 

Function Name (ticks)

ProjectXenocide.Xenocide.Draw(class Microsoft.Xna.Framework.GameTime) 28,237,566,842

Microsoft.Xna.Framework.Game.Draw (class Microsoft.Xna.Framework.GameTime) 22,362,649,296

ProjectXenocide.UI.Screens.ScreenManager.Draw (class Microsoft.Xna.Framework.GameTime, class Microsoft.Xna.Framework.Graphics.GraphicsDevice) 5,535,996,812

ProjectXenocide.UI.Screens.Screen.Draw (class Microsoft.Xna.Framework.GameTime, class Microsoft.Xna.Framework.Graphics.GraphicsDevice) 5,302,282,656

ProjectXenocide.UI.Screens.PolarScreen.Draw (class Microsoft.Xna.Framework.GameTime, class Microsoft.Xna.Framework.Graphics.GraphicsDevice) 5,289,625,449

ProjectXenocide.UI.Scenes.Common.PolarScene.Draw (class Microsoft.Xna.Framework.GameTime, class Microsoft.Xna.Framework.Graphics.GraphicsDevice, valuetype CeGui.Rect) 5,247,039,391

ProjectXenocide.UI.Scenes.Geoscape.GeoscapeScene.Draw (class Microsoft.Xna.Framework.GameTime, class Microsoft.Xna.Framework.Graphics.GraphicsDevice, valuetype CeGui.Rect) 5,229,672,205

ProjectXenocide.Xenocide.Update (class Microsoft.Xna.Framework.GameTime) 5,133,861,245

ProjectXenocide.UI.Screens.ScreenManager.Update (class Microsoft.Xna.Framework.GameTime) 4,645,863,882

ProjectXenocide.UI.Screens.Screen.Update (class Microsoft.Xna.Framework.GameTime) 4,568,945,488

ProjectXenocide.UI.Screens.GeoscapeScreen.Update (class Microsoft.Xna.Framework.GameTime) 4,548,534,265

ProjectXenocide.UI.Screens.GeoscapeScreen.ScreenState.Update (class Microsoft.Xna.Framework.GameTime) 4,119,844,276

ProjectXenocide.UI.Screens.GeoscapeScreen.ViewGeoscapeScreenState.Update (class Microsoft.Xna.Framework.GameTime) 4,095,832,845

ProjectXenocide.Model.Geoscape.GeoData.Update (class Microsoft.Xna.Framework.GameTime) 4,028,920,951

ProjectXenocide.Model.Geoscape.GeoData.PumpUpdate (class Microsoft.Xna.Framework.GameTime) 3,989,637,397

ProjectXenocide.Model.Geoscape.Outposts.Outpost.Update (float64) 2,952,640,481

ProjectXenocide.Model.Geoscape.Vehicles.Craft.Update (float64) 2,859,529,312

ProjectXenocide.Model.Geoscape.Vehicles.Mission.Update (float64) 2,732,522,921

ProjectXenocide.Model.Geoscape.Vehicles.MissionState.Update (float64) 2,452,127,543

ProjectXenocide.Model.Geoscape.Vehicles.MissionState.UpdateState (float64) 2,226,195,069

ProjectXenocide.Model.Geoscape.Vehicles.InBaseState.UpdateState (float64) 1,942,110,486

ProjectXenocide.UI.Scenes.Geoscape.SkyBox.Draw (class Microsoft.Xna.Framework.Graphics.GraphicsDevice, valuetype Microsoft.Xna.Framework.Matrix, class Microsoft.Xna.Framework.Graphics.BasicEffect) 1,600,098,665

Microsoft.Xna.Framework.Graphics.GraphicsDevice.DrawIndexedPrimitives (valuetype Microsoft.Xna.Framework.Graphics.PrimitiveType, int32,int32,int32,int32,int32) 1,401,238,390

ProjectXenocide.Model.Geoscape.Vehicles.Craft.Reload (float64) 1,217,923,499

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.Reload (float64) 1,162,293,643

ProjectXenocide.UI.Scenes.Geoscape.EarthGlobe.Draw (class Microsoft.Xna.Framework.Graphics.GraphicsDevice, valuetype Microsoft.Xna.Framework.Matrix, class Microsoft.Xna.Framework.Graphics.BasicEffect) 967,248,451

Microsoft.Xna.Framework.Graphics.EffectPass.Begin () 946,633,192

ProjectXenocide.UI.Scenes.Geoscape.GeoMarker.Draw (class Microsoft.Xna.Framework.Graphics.GraphicsDevice, valuetype Microsoft.Xna.Framework.Vector3,class Microsoft.Xna.Framework.Graphics.BasicEffect) 874,264,694

ProjectXenocide.Model.Geoscape.Vehicles.WeaponPod.Reload (float64,class ProjectXenocide.Model.Geoscape.Outposts.Outpost) 631,900,236

ProjectXenocide.Model.Geoscape.AI.Overmind.Update (float64) 477,023,026

ProjectXenocide.Model.Geoscape.AI.InvasionTask.Update (float64) 423,703,240

ProjectXenocide.Model.Geoscape.AI.ResearchTask.Update (float64) 399,703,774

ProjectXenocide.Model.Geoscape.Vehicles.Craft.Refuel (float64) 364,650,210

Microsoft.Xna.Framework.Input.GamePad.GetState (valuetype Microsoft.Xna.Framework.PlayerIndex) 343,446,041

ProjectXenocide.Model.Geoscape.Vehicles.WeaponPod.get_UsesAmmo () 318,732,198

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.Refuel (float64) 315,486,382

System.Object.ToString () 287,081,254

Microsoft.Xna.Framework.Graphics.GraphicsDevice.Clear (valuetype Microsoft.Xna.Framework.Graphics.Color) 271,579,516

ProjectXenocide.Model.Geoscape.GeoTime.ToString () 270,190,121

ProjectXenocide.Model.Geoscape.Vehicles.WeaponPod.get_Clip () 267,490,025

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.get_MaxFuel () 254,998,996

ProjectXenocide.Model.Geoscape.Vehicles.MoveToPositionState.UpdateState (float64) 224,481,743

System.DateTime.ToString (string, class System.IFormatProvider) 215,390,141

ProjectXenocide.UI.Screens.ScreenManager.fpsCalcs () 213,987,613

ProjectXenocide.UI.Scenes.Geoscape.GeoscapeScene.ComputeSunAngle () 212,907,212

ProjectXenocide.Model.Geoscape.Outposts.Outpost.get_Fleet () 193,752,879

System.Collections.IEnumerator.MoveNext () 183,849,108

ProjectXenocide.Model.Geoscape.GeoTime.AddMilliseconds (float64) 183,682,637

ProjectXenocide.Model.Geoscape.Vehicles.WeaponPod.get_ClipSize () 181,199,109

ProjectXenocide.Model.Geoscape.GeoPosition.PolarToCartesian (float32,float32) 138,685,802

ProjectXenocide.Model.Geoscape.Vehicles.WeaponPod.get_Weapon () 134,898,332

ProjectXenocide.Model.Geoscape.Vehicles.Craft.Repair (float64) 127,977,930

ProjectXenocide.UI.Scenes.Geoscape.GeoMarker.geopositionToWorld (valuetype Microsoft.Xna.Framework.Vector3) 125,324,597

ProjectXenocide.Model.Geoscape.GeoPosition.PolarToCartesian (valuetype Microsoft.Xna.Framework.Vector3) 120,235,933

System.DateTime.get_Now () 113,540,364

Microsoft.Xna.Framework.Gamewindow.set_Title (string) 109,400,734

ProjectXenocide.UI.Scenes.Geoscape.GeoMarker.setupEffect (class Microsoft.Xna.Framework.Graphics.GraphicsDevice, class Microsoft.Xna.Framework.Graphics.BasicEffect) 94,945,417

ProjectXenocide.Model.Geoscape.Vehicles.Craft.CanDrawOnGeoscape () 88,977,864

Microsoft.Xna.Framework.Graphics.RenderState.set_CullMode (valuetype Microsoft.Xna.Framework.Graphics.CullMode) 86,996,490

ProjectXenocide.UI.Scenes.Common.PolarScene.CalcViewportForSceneWindow (valuetype CeGui.Rect, valuetype Microsoft.Xna.Framework.Graphics.Viewport) 84,478,286

ProjectXenocide.Model.Geoscape.Vehicles.Mission.OnDestinationReached () 77,987,373

ProjectXenocide.Model.Geoscape.Vehicles.ResearchMission.OnDestinationReached () 77,960,138

ProjectXenocide.Model.Geoscape.Vehicles.Craft.OnMissionfinished () 77,253,620

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.get_AircraftItem () 77,025,354

ProjectXenocide.Model.Geoscape.GeoTime.DayPassedHandler.Invoke () 76,976,316

ProjectXenocide.Model.Geoscape.Vehicles.Ufo.OnMissionfinished () 76,046,347

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.Repair (float64) 67,084,129

ProjectXenocide.Model.Geoscape.AI.InvasionTask.OnMissionfinished (class ProjectXenocide.Model.Geoscape.Vehicles.Ufo) 66,369,067

ProjectXenocide.Model.StaticData.Items.ItemHandle.get_Item () 65,805,230

ProjectXenocide.Model.Geoscape.AI.ResearchTask.OnMissionfinished (class ProjectXenocide.Model.Geoscape.Vehicles.Ufo) 65,647,510

Microsoft.Xna.Framework.Graphics.BasicEffect.set_Texture (class Microsoft.Xna.Framework.Graphics.Texture2D) 65,501,262

System.IDisposable.Dispose () 64,686,203

ProjectXenocide.Model.Geoscape.Outposts.OutpostInventory.get_Fleet () 61,090,014

ProjectXenocide.Model.Geoscape.Vehicles.MissionState.DoChecks (float64) 61,020,906

System.Collections.Generic.IEnumerable`1.GetEnumerator () 58,528,129

ProjectXenocide.Model.Geoscape.GeoData.AddScore (valuetype ProjectXenocide.Model.Participant, float32,class ProjectXenocide.Model.Geoscape.GeoPosition) 58,459,883

Microsoft.Xna.Framework.Graphics.GraphicsDevice.set_Viewport (valuetype Microsoft.Xna.Framework.Graphics.Viewport) 56,716,830

ProjectXenocide.Model.StaticData.Items.AircraftItem.get_MaxFuel () 55,668,700

ProjectXenocide.Model.Geoscape.Geography.Planet.AddScore (valuetype ProjectXenocide.Model.Participant, float32,class ProjectXenocide.Model.Geoscape.GeoPosition) 55,616,735

ProjectXenocide.Model.Geoscape.Vehicles.Aircraft.CanDrawOnGeoscape () 55,409,770

System.Math.Cos (float64) 54,987,603

Microsoft.Xna.Framework.Graphics.GraphicsDevice.set_VertexDeclaration (class Microsoft.Xna.Framework.Graphics.VertexDeclaration) 52,765,373

ProjectXenocide.Model.GameState.get_GeoData () 52,442,466

ProjectXenocide.Model.Geoscape.Vehicles.Mission.DoChecks (float64) 52,366,036

Microsoft.Xna.Framework.Graphics.VertexStream.SetSource (class Microsoft.Xna.Framework.Graphics.VertexBuffer, int32,int32) 52,305,433

ProjectXenocide.Model.StaticData.Items.CraftWeaponItem.get_Clip () 51,096,595

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_HomeBase () 49,080,248

ProjectXenocide.Model.Geoscape.GeoPosition.GetAzimuth (class ProjectXenocide.Model.Geoscape.GeoPosition) 47,123,263

Microsoft.Xna.Framework.Graphics.Effect.get_CurrentTechnique () 47,065,758

Microsoft.Xna.Framework.Graphics.GraphicsDevice.set_Indices (class Microsoft.Xna.Framework.Graphics.IndexBuffer) 46,410,380

System.Math.Sin (float64) 43,665,201

Microsoft.Xna.Framework.Vector3..ctor (float32,float32,float32) 42,785,694

System.Collections.Generic.IList`1.get_Item (int32) 42,193,143

System.DateTime.get_DayOfYear () 42,141,457

ProjectXenocide.Model.StaticData.Items.CraftWeaponItem.get_ClipSize () 41,006,515

ProjectXenocide.Model.Geoscape.Vehicles.Mission.get_Craft () 38,780,689

ProjectXenocide.UI.Scenes.Geoscape.SphereMesh.get_TotalVertexes () 36,236,764

ProjectXenocide.Xenocide.get_GameState () 35,947,872

ProjectXenocide.Model.Geoscape.GeoPosition.GetEndpoint (float64,float64) 35,248,013

ProjectXenocide.Model.Geoscape.Geography.GeoBitmap.GetPropertyIndexOfLocation (class ProjectXenocide.Model.Geoscape.GeoPosition) 35,019,066

Microsoft.Xna.Framework.Graphics.BasicEffect.set_LightingEnabled (bool) 34,317,638

CeGui.window.get_Rect () 33,360,062

ProjectXenocide.Model.Geoscape.GeoTime.RealTimeToGameTime (valuetype System.TimeSpan) 33,356,847

Microsoft.Xna.Framework.Graphics.EffectPass.End () 32,498,745

ProjectXenocide.Model.Geoscape.GeoData.get_Outposts () 31,466,068

Microsoft.Xna.Framework.Graphics.BasicEffect.set_Projection (valuetype Microsoft.Xna.Framework.Matrix) 31,208,001

ProjectXenocide.Model.Geoscape.Geography.Planet.GetRegionAtLocation (class ProjectXenocide.Model.Geoscape.GeoPosition) 30,273,032

ProjectXenocide.Model.Geoscape.Vehicles.Mission.get_State () 29,593,973

ProjectXenocide.Model.Geoscape.GeoPosition.GetDistance (class ProjectXenocide.Model.Geoscape.GeoPosition) 28,874,769

ProjectXenocide.UI.Scenes.Common.PolarScene.GetProjectionMatrix (float32) 28,847,608

Microsoft.Xna.Framework.Graphics.RenderState.set_DepthBufferEnable (bool) 28,470,249

Microsoft.Xna.Framework.Graphics.BasicEffect.set_TextureEnabled (bool) 27,670,149

Microsoft.Xna.Framework.Graphics.BasicDirectionalLight.set_Direction (valuetype Microsoft.Xna.Framework.Vector3) 27,343,270

Microsoft.Xna.Framework.Graphics.BasicEffect.set_World (valuetype Microsoft.Xna.Framework.Matrix) 27,077,345

Microsoft.Xna.Framework.Graphics.EffectPassCollection.GetEnumerator () 26,912,146

ProjectXenocide.Model.Geoscape.Outposts.Floorplan.Update (float64) 26,871,255

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_HullDamage () 26,842,314

Microsoft.Xna.Framework.Graphics.BasicEffect.set_Alpha (float32) 26,722,731

Microsoft.Xna.Framework.Graphics.BasicEffect.set_View (valuetype Microsoft.Xna.Framework.Matrix) 25,478,989

ProjectXenocide.UI.Screens.ScreenManager.get_QuitGame () 25,472,865

Microsoft.Xna.Framework.Graphics.GraphicsDevice.get_Viewport () 24,888,672

Microsoft.Xna.Framework.Graphics.BasicDirectionalLight.set_Enabled (bool) 24,746,921

Microsoft.Xna.Framework.Graphics.Effect.End () 24,305,039

ProjectXenocide.Model.Geoscape.Vehicles.MissionState.get_Mission () 24,248,290

Microsoft.Xna.Framework.Graphics.Effect.Begin () 23,505,948

Microsoft.Xna.Framework.Graphics.BasicEffect.set_DiffuseColor (valuetype Microsoft.Xna.Framework.Vector3) 23,234,486

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_WeaponPods () 22,685,530

Microsoft.Xna.Framework.Matrix.CreateRotationY (float32) 21,243,555

Microsoft.Xna.Framework.Game.Update (class Microsoft.Xna.Framework.GameTime) 19,813,469

System.Collections.Generic.IEnumerator`1.get_Current () 19,712,277

System.Collections.Generic.IEnumerator`1.get_Current () 19,193,980

System.TimeSpan.get_TotalMilliseconds () 19,120,747

Microsoft.Xna.Framework.Matrix.CreatePerspectiveFieldOfView (float32,float32,float32,float32) 19,052,554

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_InBase () 18,691,857

ProjectXenocide.Model.Geoscape.GeoData.get_GeoTime () 18,691,288

System.Collections.Generic.IEnumerable`1.GetEnumerator () 18,626,350

System.Threading.Thread.get_CurrentCulture () 18,593,453

Microsoft.Xna.Framework.Graphics.BasicEffect.get_DirectionalLight0 () 18,277,621

Microsoft.Xna.Framework.Graphics.RenderState.set_DepthBufferWriteEnable (bool) 18,252,000

ProjectXenocide.Model.Geoscape.GeoPosition.get_Polar () 18,144,699

System.DateTime.AddMilliseconds (float64) 17,904,713

System.Collections.Generic.IEnumerator`1.get_Current () 17,704,838

System.Collections.Generic.ICollection`1.get_Count () 16,509,431

ProjectXenocide.Model.StaticData.Items.ItemHandle.get_ShotsLeft () 16,456,067

Microsoft.Xna.Framework.Matrix.CreateLookAt (valuetype Microsoft.Xna.Framework.Vector3,valuetype Microsoft.Xna.Framework.Vector3,valuetype Microsoft.Xna.Framework.Vector3) 16,349,394

ProjectXenocide.UI.Scenes.Geoscape.SphereMesh.get_TotalFaces () 15,468,539

System.DateTime.op_Subtraction (valuetype System.DateTime, valuetype System.DateTime) 15,085,794

Microsoft.Xna.Framework.Matrix.op_Multiply (valuetype Microsoft.Xna.Framework.Matrix, valuetype Microsoft.Xna.Framework.Matrix) 15,041,261

System.Collections.Generic.Stack`1.get_Count () 14,758,593

Microsoft.Xna.Framework.Graphics.VertexStreamCollection.get_Item (int32) 14,663,088

CeGui.window.set_Text (string) 14,560,163

CeGui.window.get_Text () 14,378,709

Microsoft.Xna.Framework.Graphics.GraphicsDevice.get_Vertices () 13,605,727

ProjectXenocide.Model.Geoscape.AI.InvasionTask.get_Ufos () 13,568,452

Microsoft.Xna.Framework.Input.GamePadState.get_Buttons () 12,991,836

Microsoft.Xna.Framework.Graphics.VertexPositionNormalTexture.get_SizeInBytes () 12,970,683

System.String.op_Inequality (string, string) 12,827,026

System.Threading.Thread.get_CurrentThread () 12,818,881

ProjectXenocide.Model.Geoscape.GeoData.get_Overmind () 12,692,083

System.Collections.Generic.ICollection`1.get_Count () 12,688,520

Microsoft.Xna.Framework.Graphics.GraphicsDevice.get_RenderState () 12,448,933

System.DateTime.get_TimeOfDay () 12,352,523

System.TimeSpan..ctor (int64) 12,118,230

Microsoft.Xna.Framework.Graphics.EffectTechnique.get_Passes () 11,940,720

System.Collections.Generic.List`1.get_Item (int32) 11,932,779

ProjectXenocide.Model.Geoscape.GeoTime.get_Time () 11,556,506

ProjectXenocide.Model.ScoreLog.AddScore (valuetype ProjectXenocide.Model.Participant, float32) 11,333,587

Microsoft.Xna.Framework.Vector3.op_Multiply (valuetype Microsoft.Xna.Framework.Vector3,float32) 11,210,754

System.Collections.Generic.IList`1.get_Item (int32) 10,857,756

Microsoft.Xna.Framework.Input.GamePadButtons.get_Back () 9,829,926

System.Math.Asin (float64) 9,761,241

System.Collections.Generic.ICollection`1.get_Count () 9,748,609

System.Collections.Generic.IEnumerable`1.GetEnumerator () 9,549,208

Microsoft.Xna.Framework.GameTime.get_ElapsedRealTime () 9,340,671

System.Collections.Generic.IEnumerable`1.GetEnumerator () 9,140,207

System.Collections.Generic.IEnumerator`1.get_Current () 8,792,525

Microsoft.Xna.Framework.GraphicsDeviceManager.get_GraphicsDevice () 8,766,295

Microsoft.Xna.Framework.Graphics.Color.get_CornflowerBlue () 8,601,764

Microsoft.Xna.Framework.Matrix.CreateRotationX (float32) 8,205,364

System.Collections.Generic.List`1.get_Count () 8,083,553

System.Collections.Generic.Queue`1.get_Count () 7,990,633

MoveNext () 7,943,842

System.TimeSpan.get_TotalSeconds () 7,684,762

ProjectXenocide.Model.Geoscape.Outposts.Outpost.get_Position () 7,599,607

Microsoft.Xna.Framework.Vector3.get_Zero () 7,573,326

ProjectXenocide.Model.Geoscape.Geography.GeoBitmap.Tuple.get_Count () 7,457,080

ProjectXenocide.Model.Geoscape.AI.Overmind.get_Ufos () 6,926,105

Microsoft.Xna.Framework.Graphics.Viewport.get_Height () 6,874,098

System.Collections.Generic.SortedList`2.get_Count () 6,694,721

System.TimeSpan.op_LessThan (valuetype System.TimeSpan, valuetype System.TimeSpan) 6,393,748

Microsoft.Xna.Framework.Graphics.Viewport.set_Width (int32) 6,260,204

System.Collections.Generic.List`1.get_Count () 6,210,633

Microsoft.Xna.Framework.Graphics.Viewport.get_Width () 5,964,144

ProjectXenocide.UI.Screens.PolarScreen.onmousemoveInScene (object, class CeGui.MouseEventArgs) 5,599,455

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_Position () 5,566,724

Microsoft.Xna.Framework.Matrix.CreateTranslation (valuetype Microsoft.Xna.Framework.Vector3) 5,131,805

ProjectXenocide.UI.Scenes.Common.PolarScene.get_CameraPosition () 4,999,810

ProjectXenocide.Utils.Util.IsRightMouseButtonDown () 4,897,012

Microsoft.Xna.Framework.MathHelper.ToRadians (float32) 4,801,331

ProjectXenocide.Model.Geoscape.Geography.Planet.GetCountryAtLocation (class ProjectXenocide.Model.Geoscape.GeoPosition) 4,753,720

Microsoft.Xna.Framework.Matrix.CreateTranslation (float32,float32,float32) 4,655,322

CeGui.Rect.get_Width () 4,624,634

Microsoft.Xna.Framework.Vector3.get_Up () 4,615,836

get_Current () 4,471,235

ProjectXenocide.UI.Scenes.Geoscape.SphereMesh.get_TotalIndexes () 4,260,829

CeGui.Rect.get_Height () 4,223,780

ProjectXenocide.Model.Geoscape.Vehicles.WaitState.UpdateState (float64) 4,166,041

Microsoft.Xna.Framework.Graphics.VertexPositionTexture.get_SizeInBytes () 4,007,299

ProjectXenocide.UI.Scenes.Common.PolarScene.get_AspectRatio () 3,964,256

Microsoft.Xna.Framework.Graphics.Viewport.set_Height (int32) 3,771,795

ProjectXenocide.Model.Geoscape.Vehicles.Craft.set_Position (class ProjectXenocide.Model.Geoscape.GeoPosition) 3,654,027

Microsoft.Xna.Framework.Graphics.Viewport.set_X (int32) 3,485,925

Microsoft.Xna.Framework.Input.Mouse.GetState () 3,458,363

Microsoft.Xna.Framework.Graphics.Viewport.set_Y (int32) 3,207,118

ProjectXenocide.Utils.Util.StringFormat (string, object[]) 3,127,685

ProjectXenocide.Model.Geoscape.Research.ResearchGraph.NextDay () 2,984,966

System.Math.Sqrt (float64) 2,749,973

System.Collections.Generic.IEnumerator`1.get_Current () 2,718,301

ProjectXenocide.Model.Geoscape.Research.ResearchTopic.NextDay () 2,514,364

System.String.Format (class System.IFormatProvider, string, object[]) 2,348,190

System.Math.Atan2 (float64,float64) 2,096,576

ProjectXenocide.Model.Geoscape.GeoPosition..ctor (float32,float32) 2,076,041

System.Math.Acos (float64) 2,012,528

System.Collections.Generic.IList`1.get_Item (int32) 1,932,901

ProjectXenocide.Model.Geoscape.Vehicles.Mission.OnMissionfinished () 1,922,436

Microsoft.Xna.Framework.MathHelper.Min (float32,float32) 1,643,094

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_MaxSpeed () 1,554,990

ProjectXenocide.Model.Geoscape.XCorp.AddScore (valuetype ProjectXenocide.Model.Participant, float32) 1,233,721

ProjectXenocide.UI.Screens.GeoscapeScreen.OnTimeRateButtonclicked (object, class CeGui.GuiEventArgs) 1,206,523

ProjectXenocide.UI.Screens.GeoscapeScreen.ScreenState.OnTimeRateButtonclicked (class CeGui.Widgets.PushButton) 1,185,542

ProjectXenocide.UI.Screens.GeoscapeScreen.ViewGeoscapeScreenState.OnTimeRateButt

nClicked (class CeGui.Widgets.PushButton) 1,111,433

ProjectXenocide.Model.Geoscape.Vehicles.Craft.ConsumeFuel (float64) 1,079,176

ProjectXenocide.Model.Geoscape.AI.InvasionTask.RemoveUfo (class ProjectXenocide.Model.Geoscape.Vehicles.Ufo) 959,175

System.Collections.Generic.ICollection`1.Remove (!0) 952,252

ProjectXenocide.Model.Geoscape.Vehicles.Ufo.CanDrawOnGeoscape () 903,321

ProjectXenocide.Model.Geoscape.AI.ResearchTask.SpawnUfo () 896,642

ProjectXenocide.Model.Geoscape.Vehicles.Ufo..ctor (string, class ProjectXenocide.Model.Geoscape.GeoPosition, class ProjectXenocide.Model.Geoscape.AI.InvasionTask) 700,167

ProjectXenocide.Model.Geoscape.Vehicles.Craft.get_Hunters () 596,218

ProjectXenocide.Model.Geoscape.Vehicles.Mission.OnTimerFinished () 577,134

ProjectXenocide.Model.Geoscape.Vehicles.ResearchMission.OnTimerFinished () 569,026

System.Object..ctor () 538,218

ProjectXenocide.Model.Geoscape.Vehicles.MissionState.OnMissionfinished () 430,873

ProjectXenocide.Model.Geoscape.Vehicles.MoveToPositionState..ctor (class ProjectXenocide.Model.Geoscape.Vehicles.Mission, class ProjectXenocide.Model.Geoscape.GeoPosition) 387,710

Microsoft.Xna.Framework.Input.MouseState.get_RightButton () 286,590

ProjectXenocide.Model.Geoscape.GeoPosition.RandomLocation (class ProjectXenocide.Model.Geoscape.GeoPosition, float64) 252,976

ProjectXenocide.Model.Geoscape.Research.ResearchTopic.get_IsResearched () 188,083

ProjectXenocide.UI.Screens.GeoscapeScreen.IsButton (class CeGui.Widgets.PushButton, string) 168,662

ProjectXenocide.Model.Geoscape.Vehicles.ResearchMission.CalcNewDestination () 160,694

Microsoft.Xna.Framework.Game.get_Window () 88,576

ProjectXenocide.Model.Geoscape.Vehicles.Craft..ctor (string, string, class ProjectXenocide.Model.Geoscape.GeoPosition) 78,123

ValueCollection.GetEnumerator () 75,459

ProjectXenocide.Model.Geoscape.Vehicles.Mission.SetState (class ProjectXenocide.Model.Geoscape.Vehicles.MissionState) 69,357

System.Collections.Generic.IList`1.set_Item (int32,!0) 68,236

ProjectXenocide.Resources.Strings.get_UFO_NAME () 52,864

System.Resources.ResourceManager.GetString (string) 50,433

MoveNext () 49,740

ProjectXenocide.Model.StaticData.Items.ItemCollection.get_Item (string) 48,570

System.Collections.Generic.SortedList`2.get_Item (!0) 46,674

System.Resources.ResourceManager.GetString (string, class System.Globalization.CultureInfo) 44,934

ProjectXenocide.Model.MonthlyLog.get_ThisMonth () 43,510

ProjectXenocide.Xenocide.get_Instance () 39,478

get_Current () 35,088

ProjectXenocide.Model.Geoscape.Vehicles.WaitState..ctor (class ProjectXenocide. Model.Geoscape.Vehicles.Mission, float64) 32,686

ProjectXenocide. Model.MonthlyLog.set_Item (int32,int32) 27,765

System.Random.Next (int32) 27,553

ProjectXenocide. Model.Geoscape.Vehicles.MissionState..ctor (class ProjectXenocide. Model.Geoscape.Vehicles.Mission) 25,223

ProjectXenocide. Resources.Strings.get_ResourceManager () 24,617

ProjectXenocide. Model.Geoscape.Vehicles.MissionState..ctor (class ProjectXenocide. Model.Geoscape.Vehicles.Mission, float64) 24,538

System.DateTime.get_Month () 24,407

ProjectXenocide. Model.Geoscape.Vehicles.Craft..ctor (class ProjectXenocide. Model.StaticData.Items.Item, string, class ProjectXenocide. Model.Geoscape.GeoPosition) 23,519

System.String.EndsWith (string) 22,788

ProjectXenocide. Model.Geoscape.GeoTime.set_TimeRatio (float32) 19,893

ProjectXenocide. Model.Geoscape.Vehicles.ResearchMission..ctor (class ProjectXenocide. Model.Geoscape.Vehicles.Craft, class ProjectXenocide. Model.Geoscape.GeoPosition) 17,025

ProjectXenocide. Model.MonthlyLog.DateToIndex (valuetype System.DateTime) 14,825

System.Object.ReferenceEquals (object, object) 13,332

CeGui.window.get_Name () 11,426

ProjectXenocide. Model.Geoscape.Vehicles.MissionState.OnExitState () 10,079

ProjectXenocide. Model.Geoscape.GeoPosition.RandomLocation () 10,009

ProjectXenocide. Model.Geoscape.Vehicles.Ufo.get_Task () 9,505

ProjectXenocide. Model.Geoscape.Vehicles.Craft.get_NumHardpoints () 9,179

ProjectXenocide. Model.Geoscape.AI.InvasionTask.AddUfo (class ProjectXenocide. Model.Geoscape.Vehicles.Ufo) 8,494

ProjectXenocide. Model.Geoscape.Vehicles.MissionState.OnEnterState () 8,394

ProjectXenocide. Model.Geoscape.GeoPosition..ctor (class ProjectXenocide. Model.Geoscape.GeoPosition) 8,069

ProjectXenocide. Xenocide.get_Rng () 7,708

ProjectXenocide. Model.Geoscape.Vehicles.ResearchMission.CalcSecondsOnGround () 5,667

System.Collections.Generic.List`1.GetEnumerator () 5,494

ProjectXenocide. Model.Geoscape.Vehicles.Craft.get_CraftItem () 4,848

ProjectXenocide. Model.Geoscape.Vehicles.WeaponPod..ctor (class ProjectXenocide. Model.StaticData.Items.CraftWeaponItem) 4,490

System.Collections.Generic.Dictionary`2.get_Values () 3,406

System.Collections.Generic.ICollection`1.Add (!0) 2,914

ProjectXenocide. Model.StaticData.Items.ItemHandle..ctor (class ProjectXenocide. Model.StaticData.Items.Item, class ProjectXenocide. Model.StaticData.Items.Item, int32) 2,779

ProjectXenocide. Model.StaticData.Items.ItemHandle..ctor (class ProjectXenocide. Model.StaticData.Items.Item) 2,467

ProjectXenocide. Model.Geoscape.GeoPosition.get_Longitude () 2,334

ProjectXenocide. Model.StaticData.Items.CraftItem.get_NumHardpoints () 2,107

ProjectXenocide. Model.Geoscape.AI.InvasionTask.get_Overmind () 1,865

ProjectXenocide. Model.MonthlyLog.get_Item (int32) 1,763

ProjectXenocide. Model.StaticData.Items.CraftItem.get_MaxSpeed () 1,511

System.Collections.Generic.List`1..ctor () 1,471

ProjectXenocide. Model.Geoscape.GeoPosition.KilometersToRadians (float64) 1,369

ProjectXenocide. Model.Geoscape.Vehicles.Ufo.get_UfoItem () 1,301

ProjectXenocide. Model.StaticData.Items.UfoItem.get_Weapon () 1,203

ProjectXenocide. Model.Geoscape.Vehicles.Mission..ctor (class ProjectXenocide. Model.Geoscape.Vehicles.Craft) 1,108

System.Collections.Generic.List`1.get_Item (int32) 946

ProjectXenocide. Model.Geoscape.Vehicles.Craft.set_Mission (class ProjectXenocide. Model.Geoscape.Vehicles.Mission) 925

ProjectXenocide. Model.StaticTables.get_ItemList () 851

ProjectXenocide. Model.Geoscape.Geography.PlanetRegion.get_ScoreLog () 846

ProjectXenocide. Model.Geoscape.Vehicles.Craft.get_Mission () 671

ProjectXenocide. Model.Geoscape.GeoPosition.get_Latitude () 489

ProjectXenocide. Xenocide.get_StaticTables () 474

System.Collections.Generic.List`1.get_Item (int32) 452

ProjectXenocide. Model.Geoscape.Vehicles.ResearchMission.CalcNumberLandings () 324

ProjectXenocide. Model.Geoscape.Geography.Country.get_ScoreLog () 243

ProjectXenocide. Model.Geoscape.Geography.GeoBitmap.Tuple.get_Index () 237

ProjectXenocide. Model.Geoscape.Geography.Country.get_Region () 168

Link to comment
Share on other sites

Well, I'll state the obvious, from this the big consumer of time is the render, not the state updating.

ProjectXenocide.Xenocide.Draw(class Microsoft.Xna.Framework.GameTime) 28,237,566,842

ProjectXenocide.Xenocide.Update (class Microsoft.Xna.Framework.GameTime) 5,133,861,245

Of course, the test is probably just running one base, with three craft that sit in the base and a single UFO at any one time.

So, for a real stress test, we should have 8 bases, 12 UFOs running around the Geoscape, 12 aircraft chasing the UFOs, and another 24 craft sitting in their bases.

It's also not been specified which build is running, which would indicate which features are present. As I see no references to IsWithin() I assume this ISN'T doing visibility testing.

Link to comment
Share on other sites

Well, I'll state the obvious, from this the big consumer of time is the render, not the state updating.
ProjectXenocide.Xenocide.Draw(class Microsoft.Xna.Framework.GameTime) 28,237,566,842

ProjectXenocide.Xenocide.Update (class Microsoft.Xna.Framework.GameTime) 5,133,861,245

Of course, the test is probably just running one base, with three craft that sit in the base and a single UFO at any one time.

So, for a real stress test, we should have 8 bases, 12 UFOs running around the Geoscape, 12 aircraft chasing the UFOs, and another 24 craft sitting in their bases.

It's also not been specified which build is running, which would indicate which features are present. As I see no references to IsWithin() I assume this ISN'T doing visibility testing.

 

 

I just built the latest version, started a new game and let it run. So you are correct about the test. Do you have a save game (does that work yet?) set up like you describe? I am all set up to do this test easily again.

 

-D

Link to comment
Share on other sites

Well, I'll state the obvious, from this the big consumer of time is the render, not the state updating.
ProjectXenocide.Xenocide.Draw(class Microsoft.Xna.Framework.GameTime) 28,237,566,842

ProjectXenocide.Xenocide.Update (class Microsoft.Xna.Framework.GameTime) 5,133,861,245

Of course, the test is probably just running one base, with three craft that sit in the base and a single UFO at any one time.

So, for a real stress test, we should have 8 bases, 12 UFOs running around the Geoscape, 12 aircraft chasing the UFOs, and another 24 craft sitting in their bases.

It's also not been specified which build is running, which would indicate which features are present. As I see no references to IsWithin() I assume this ISN'T doing visibility testing.

 

 

I just built the latest version, started a new game and let it run. So you are correct about the test. Do you have a save game (does that work yet?) set up like you describe? I am all set up to do this test easily again.

 

-D

Unfortunately, no I don't have a save game to test that. Mainly because it needs code changes.

For starters, the existing code only launches one UFO at a time, and the UFO ends it's mission after a number of hours. And a craft finishes it's mission when it runs out of fuel and returns to base, or attacks and destroys a UFO.

So, at minimum would require:

1. New "random walk" mission for UFOs. (This one's easy to implement)

2. New mission for aircraft, where it chases a UFO until it runs out of fuel, returns to base, and then goes after UFO again when it is refueled. And it doesn't destroy a UFO when (if) it ever catches it. (This one will probably take a few hours to write.)

3. Adding test code to launch multiple UFO missions, and hook an aircraft to each UFO.

 

I'm guessing about a day to get everything written, and hooked up to a "stress test" button on the geoscape. Might do that once I get the rest of the bits together for the progress release.

Link to comment
Share on other sites

I'm guessing about a day to get everything written, and hooked up to a "stress test" button on the geoscape. Might do that once I get the rest of the bits together for the progress release.

 

Sounds great. Let me know when you have what you want. We should make the test configurable so I can crank up the stress to the absolute maximum we can imagine anyone getting in game. If we can run with dozens of UFO's, Radars and Interceptors at a time, we will know we can handle 99% of games.

 

-D

Edited by SaintD
Link to comment
Share on other sites

×
×
  • Create New...