Optimizations Types of optimization

0 votes
How does companies do optimise their softwares and games according to the needs which can be variate i.e. sometimes for eg. there is a company which makes a game and publishes it after that they release some "optimizations and bug fixes" related to that game and because of that the same game in another update may be using less resources and working in the same condition as it was working (here it means gamers will get full satisfaction) and their ram usage or load will be reduced or might be that particular software or game as such will be working smooth again. So, in this criteria, as such what do they do that same program code which was using more resources and leading to device heat now is using less resources like ram and less power sometimes. So, same in the case of software
Apr 10, 2020 in Ask us Anything! by Ayush
• 120 points

1 answer to this question.

0 votes

Hello Ayush,

Program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. 

In general, a computer program may be optimized so that it executes more rapidly, or to make it capable of operating with less memory storage or other resources, or draw less power.

Optimization can occur at a number of levels. Typically the higher levels have greater impact, and are harder to change later on in a project, requiring significant changes or a complete rewrite if they need to be changed. Thus optimization can typically proceed via refinement from higher to lower, with initial gains being larger and achieved with less work, and later gains being smaller and requiring more work.

It's likely that an optimised program will be smaller than the unoptimised program, but it depends on the exact nature of the optimisation changes you make.

Also relevant is how the compiler for your chosen programming language converts your program (game) and assets into machine code. Sometimes its results are counter-intuitive.

For example, if you have a for loop in your game you may choose to “unroll” it into longer code that doesn't involve a loop, which may result in a larger program, that runs more quickly and efficiently after compilation.

Another example might be optimisation of image assets. You can process PNG, JPG, etc. to reduce their filesize whilst maintaining quality. Xcode actually goes one step further and whilst building/compiling your game changes the order of bytes in your image assets so they match the order expected by the GPU on your iOS device, meaning they can be loaded/processed more quickly when your game runs.

Updates always need to work from the original download or the game on the disc. That size is set in stone, therefore updates can only add to that file.

  • If you have a game 10Gb and an update 2Gb you can’t make the files smaller afterwards. You can only optimise before going public.
  • If you wrote a game 10Gb and then optimise the code to 8Gb you can’t safely replace the file. What happens if there’s a bug in the second version? What if someone has a problem with the first version (they download it and stop auto-updates) and the helpline only works for the second version?
  • You’d need to store separate updates depending on which version you bought. Then you’d need the software to know which version it is and only update in specific ways, that’s not going to make the code smaller.
  • Also, some games have multiple updates and you need to run each one as they fix different things. If update one fixes bugs and update two fixes multiplayer, you still need to update both.

Basically, optimising code can only be done before the game goes public, not after .

Hope this is helpful!!

Thank You!!

answered Apr 30, 2020 by Niroj
• 82,880 points

Related Questions In Ask us Anything!

0 votes
0 answers

all values of R in science

Jul 17, 2019 in Ask us Anything! by anonymous
• 120 points
0 votes
1 answer

Need the recording of the masterclass I attended through meetup!

Hey @Srinivas,  You can find the recording here https:// ...READ MORE

answered May 19, 2020 in Ask us Anything! by Sirajul
• 59,230 points
0 votes
1 answer

I have 2.7 years of work experience.

Hi, @Saleemhopes, If u have 2.7 years of work ...READ MORE

answered Jun 4, 2020 in Ask us Anything! by Gitika
• 65,910 points
0 votes
0 answers

Presentation and recording of webinar

I want the recording and presentation of ...READ MORE

Sep 20, 2020 in Ask us Anything! by Rishav
• 120 points
0 votes
1 answer

What is the ethical issues relating to leaving a corporation in order to work for one of its competitor

Hi, @Minhaj, It is very common for a ...READ MORE

answered Dec 16, 2020 in Ask us Anything! by Gitika
• 65,910 points
0 votes
1 answer

Can u plz provide recorded webinar of movie recommendation system and face mask detection using opencv

Hello, @Vaibhan, Could you please mention the dates ...READ MORE

answered Dec 28, 2020 in Ask us Anything! by Gitika
• 65,910 points
0 votes
0 answers

is there any chance of getting the job after 10 yrs gap?

I had completed my MCA in 2011 ...READ MORE

Feb 7, 2022 in Ask us Anything! by Edureka
• 120 points
0 votes
1 answer

Types of Hadoop Clusters

Below is the difference given between Standalone, ...READ MORE

answered Mar 26, 2018 in Big Data Hadoop by nitinrawat895
• 11,380 points
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP