Development log: May 26, 2009

Performance profiler for scripts, improved grass

What's new:

  • Performance analyzer for UnigineScript (in GProf style).
  • Refactored grass (significantly improved performance, support of different shapes, more adjustable parameters).
  • Improved render precision for distant areas.
  • Postprocesses don't affect wireframe visualization now.
  • Performance optimization of LightWorld.
  • Recursive preprocessing of namespaces in UnigineScript, no more forward declarations.
  • Warnings on wrong arguments for functions with arbitrary number of arguments in UnigineScript.
  • Added billboard flag in ObjectGui.
  • Support of OGA and OGV file extensions for audio and video files in OGG format.

To see the performance analyzer output, type "world_analyze" (world script) or "system_analyze" (system script) or "editor_analyze" (editor script) in the console:
world_analyze output
If you want to dump this output into a file, pass its name as an argument: "world_analyze logfile". The perfomance analyzer works only with debug builds. The following counters are available:

  • total seconds (this is the total number of seconds the interpreter spent executing this function)
  • self seconds (this is the number of seconds accounted for by this function alone, without internal calls of other functions)
  • calls (this is the total number of times the function was called)
  • total ms/call (this represents the average number of milliseconds spent in this function and its descendants per call)
  • self ms/call (this represents the average number of milliseconds spent in this function per call)

Output is sorted by "self seconds" field.

Updated grass can be seen in "Forest" demo, which is included into the Unigine SDK:
Forest demo
Forest demo
Forest demo

PS: There is also a component-based game framework almost ready, it will be soon delivered to our customers.

PPS: We have updated our public demos, Tropics 1.2 and Sanctuary 2.2 can be downloaded from our website.

PPPS: We are hiring talented people in Tomsk, Russia.