Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualOolala

Posted 24 August 2013 - 08:26 PM

Adam_42 is totally correct.  Games aren't normal software.

 

Most software starts doing a task, and when it's done, it terminates.  Thus, if code optimization reduces the run time, then it very probably also reduces the consumed energy for accomplishing that task.  Games on the other hand tend to sit in a loop, and their task doesn't terminate until some external event occurs.

 

On a side note, there is also a fair bit of recent academic research that has been done on the topic of compiler optimizations specifically for energy efficiency.  It kind of started developing in the mid-1990's, but didn't see a lot of uptake until relatively recently, now that energy efficiency is becoming a really big deal.  Check out the 1994 paper "Power Analysis of Embedded Software: A First Step Toward Software Power Minimization" for a light introduction to the topic.  It's also cited nearly a thousand times, by everyone and anyone who has done work in this area, so you can very easily google scholar search for more details on this topic.

 

Bottom line though, energy efficiency is FAR more an architectural thing than a software thing.  One of the biggest decisions a software developer can do to save energy is just not compute stuff.  Everything you don't compute takes less energy than everything you do.  Thus, running your game at 30 fps is going to take less energy than running it at 60.  One of the only times that compilers start to really make a big difference with regard to energy consumption is when you're compiling for something that isn't just a processor, but features various kinds of processors and coprocessors that specialize at different things.  Anything a compiler can more from big & fast to small & slow without getting creamed on performance is going to save you energy, anything a compiler can move from general purpose to special purpose is going to save you energy.  These methodologies though aren't commonly seen in regular compilers though, because systems that are packed with specialized coprocessors aren't commonly seen in regular computers.


#1Oolala

Posted 24 August 2013 - 08:23 PM

Adam_42 is totally correct.  Games aren't normal software.

 

Most software starts doing a task, and when it's done, it terminates.  Thus, if code optimization reduces the run time, then it very probably also reduces the consumed energy for accomplishing that task.  Games on the other hand tend to sit in a loop, and their task doesn't terminate until some external event occurs.

 

On a side note, there is also a fair bit of recent academic research that has been done on the topic of compiler optimizations specifically for energy efficiency.  It kind of started developing in the mid-1990's, but didn't see a lot of uptake until relatively recently, now that energy efficiency is becoming a really big deal.  Check out the 1994 paper "Power Analysis of Embedded Software: A First Step Toward Software Power Minimization" for a light introduction to the topic.  It's also cited nearly a thousand times, by everyone and anyone who has done work in this area, so you can very easily google scholar search for more details on this topic.

 

Bottom line though, energy efficiency is FAR more an architectural thing than a software thing.  One of the biggest decisions a software developer can do to save energy is just not compute stuff.  Everything you don't compute takes less energy than everything you do.  Thus, running your game at 30 fps is going to take less energy than running it at 60.  One of the only times that compilers start to really make a big difference with regard to energy consumption is when you're compiling for something that isn't just a processor, but features various kinds of processors and coprocessors that specialize at different things.  Anything a compiler can more from big & fast to small & slow without getting creamed on performance is going to save you energy, anything a compiler can move from general purpose to special purpose is going to save you energy.  These methodologies though aren't commonly seen in regular compilers though, because computers that are packed with specialized coprocessors aren't commonly seen in regular computers.


PARTNERS