RoosterDragon a0db80cb6a Changes to reduce allocations in the main loop.
Targeted some methods that generated allocated a lot of memory in the main game loop:
- Actor.Render - Changed LINQ calls into equivalent loops. No allocation for delegates.
- Animation.Render - Returned an array rather than a yield expression. The array uses less memory than the complier generated enumerable.
- FrozenActor and FrozenUnderFog - Materialize the footprint into an array: The enumerable is not-trivial to evaluate is and evaluated many times inside the Tick function. The memory needed is minimal. Changed LINQ into equivalent loops to prevent delegate allocation. Should result in overall much faster calls.
- Widget.GetEventBounds - Changed LINQ calls into equivalent loops.
- MobileInfo.CanEnterCell - Changed LINQ calls into equivalent loops. Don't materialize list of blocking actors every time, instead enumerate them and only when they need to be checked.
- FrozenUnderFog.TickRender - Generate the renderables lazily and also remove a no-op Select call.
2014-05-23 14:48:11 +01:00
2014-05-02 22:18:34 +12:00
2014-05-18 08:12:22 +02:00
2014-05-17 12:13:59 +02:00
2013-07-07 11:16:59 +02:00
2013-03-26 15:42:44 +01:00
2011-03-15 09:41:46 +13:00
2014-05-02 23:38:47 +12:00
2014-05-17 12:13:58 +02:00
2014-05-17 12:13:58 +02:00
2014-05-17 12:13:58 +02:00
2014-05-19 11:32:18 +02:00
2014-05-17 15:25:15 +02:00

OpenRA

A Libre/Free Real Time Strategy game engine supporting early Westwood classics.

Please read the FAQ in our Wiki and report problems at http://bugs.open-ra.org.

Join the Forums for discussion.

Play

Distributed mods include a reimagining of

  • Command & Conquer: Red Alert
  • Command & Conquer: Tiberian Dawn
  • Dune 2000

Check our Playing the Game Guide to win multiplayer matches.

Contribute

  • Please read INSTALL.md and Compiling on how to set up an OpenRA development environment.
  • See Hacking for an overview of the engine.
  • To get your patches merged, please adhere to the Contributing guidelines.

Mapping

  • We offer a Mapping Tutorial as you can change gameplay drastically with custom maps.
  • If you want to share your maps with the community, upload them at the OpenRA Resource Center.

Modding

Support

  • Sponsor a mirror server if you have some bandwidth to spare.
  • You can immediately set up a Dedicated Game Server.
  • Fund development by creating Bounties on specific tasks.

License

Copyright 2007-2014 The OpenRA Developers (see AUTHORS) This file is part of OpenRA, which is free software. It is made available to you under the terms of the GNU General Public License as published by the Free Software Foundation. For more information, see COPYING.

Description
No description provided
Readme 234 MiB
Languages
C# 79.3%
Lua 16%
Fluent 3.1%
Shell 0.6%
Objective-C 0.2%
Other 0.5%