Changeset 208

Show
Ignore:
Timestamp:
11/09/07 18:24:06 (1 year ago)
Author:
LeoD
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/defend/Main.d

    r207 r208  
    1212import Integer = tango.text.convert.Integer; 
    1313 
     14import gen.core.JobSystem; 
    1415import gen.util.Gamestates; 
    1516import gen.util.Wrapper; 
     
    7778    loadConfig(); 
    7879 
     80    // Create job system 
     81    jobSystem = new JobSystem(Integer.toInt(Config["threads"])); 
     82 
    7983    // Create the renderer 
    8084    logger.info("creating renderer"); 
     
    126130            frameBegin = getTickCount(); 
    127131 
    128             bool continueLoop = false; 
    129             profile!("update") 
    130             ({ 
    131                 gamestateManager.update(frameTime); 
    132                  
    133                 if(gamestateManager.exit) 
    134                     continueLoop = true; 
    135                  
    136                 inputManager.update(); 
    137             }); 
    138              
    139             if(continueLoop) 
    140                 return; 
    141  
    142             profile!("render") 
    143             ({ 
    144                 renderer.begin(); 
    145  
    146                 // Only render, when the window is active 
    147                 if(renderer.window.active) 
    148                 { 
    149                     gamestateManager.render(); 
    150  
    151                     profile!("flip") 
    152                     ({ 
    153                         renderer.end(); 
    154                     }); 
    155  
    156                     profile!("clear") 
    157                     ({ 
    158                         renderer.clear(); 
    159                     }); 
    160                 } 
    161             }); 
    162  
     132            gamestateManager.run(frameTime); 
     133                         
    163134            debug 
    164135            { 
     
    168139 
    169140            jobHub.update(); 
     141            FPSCounter.update(); 
    170142 
    171             profile!("sleep") 
    172             ({ 
    173                 sleep(1); 
     143            //profile!("sleep") 
     144            //({ 
     145                //sleep(1); 
     146                //Thread.yield(); 
     147                 
     148                if(!renderer.window.active) 
     149                    sleep(10); 
    174150 
    175151                // Limit FPS and calculate frame time 
    176152                frameTime = getTickCount() - frameBegin; 
    177                 while((frameTime = getTickCount() - frameBegin) < 10) sleep(1); 
    178             }); 
     153                //while((frameTime = getTickCount() - frameBegin) < 10) sleep(1); 
     154            //}); 
    179155        }); 
    180156    } 
     157 
     158    jobSystem.shutdown(); 
    181159 
    182160    logger.info("program execution finished normally");