def run(num=1, time=30, direct = 'profile_data/test/'): startup.init(False) #False = no splash screen #Startup has to happen before other imports that use resources. from core import player from core.game import game #Filenames field_file = DEF.FIELD_FILE_DIRECTORY + "_benchmark.utf" files = [] FPS = [] for n in xrange(0, num): #Setup the game data. player_descriptors = [] player_descriptors.append(player.PlayerDescriptor(DEF.PTYPE_CPU,team=1)) player_descriptors[0].name = "Player" for i in range(0,15): player_descriptors.append(player.PlayerDescriptor(DEF.PTYPE_CPU,team=i+2)) player_descriptors[i+1].name = DEF.PLAYER_NAMES[i] #Run and profile. direct if not os.path.exists(direct): os.makedirs(direct) files.append(direct + PREFIX+ "_%d.prof" % n) GAME = game.Game(field_file, player_descriptors) cProfile.runctx("FPS.append(run_game(GAME, time))", globals(), {'GAME':GAME, 'FPS':FPS, 'time':time}, files[n]) startup.close() return files, FPS
def run(): """Run the Program""" print "Initialization..." startup.init() print "Initialization Done" import core.utils.definitions as DEF from core.menus import main_menu if DEF.PROFILE: import hotshot PROFILER = hotshot.Profile(DEF.PROFILER_FILE) if DEF.PROFILE: PROFILER.start() main_menu.MainMenu().run() #Cleanup. print "Quiting...", if DEF.PROFILE: PROFILER.stop() PROFILER.close() startup.close() print "Done"