발적화개적화.... 최적화와괸련된이야기를쉽게 접할수잇다....


정확히 어떤게개적화고 어떤게최적화인가...


똑같은프로그램을만들어도 자원만졸라쳐먹고 느려터진거랑


빨르고날렵하고쌩쌩한께임....


이런차이가발생할수잇을까??


당연하게도그렇다...


최적화라는건 엄밀히...


메모리를얼마나잘관리하느냐를물어보는것이다...


그리고이메모리라는건...


한번에존재하는정보량의통제+정보처리횟수<--라고할수있다...


얘를들어 한번에 적군이 500마리쯤나타났다고하자...


그럼적군을구성하는 각각으 파라메타부터해서...


이놈들을그려줄 스프라이트쉬트에... 쇄이더등등...


모든인스턴스가자원을쓰게된다...


여기에쁘라스...


각자자원을계산함에잇어서...


얼마나과정을여러번거치느냐 이것도중요하다...


머대충곱하기더하기빼기... 얘넨 솔찍히 거의아무런영향이업다고보면 된다...


어차피 콤푸타는 얘네 초당 수백만번처리하는거일도않이기때문에...


그런데 이곱하기더하기빼기에 쁘라스 나눗셈까지해서...


졸라 여러번의계산으로이루어진 특정한 수행...


말하자면 빛의반사 같은 것들을 표현하거나...


물리엔진 <-- 이걸 사용하게 되면 당연히 연산량이졸라늘어나고...


이런것들을 알아서잘조율해야한다는것이다...


그래서께임들은이런데꼼수를잘쓰곤하는데...


얘를들어 저 멀리 보이는 빽그라운드 이를테면 하늘같은거...


3D대신 그냥 2D하늘사진 쁘라스 구름사진 딱박아놓는다든지...


질감을 표현할때 텍스쳐 잘할용하기 <-- 말하자면 모델 위에 뒤짚퍼씨우는 가죽읾...


이런것들이다...


또 더나아가자면...


처리과정을줄린다 <-- 매우중요핢


총을 땅 쐇어요 이 과정이 같아도...


발사버튼 눌르기 -> 발사할 인스턴스 만들기 -> 총구에 불러오기 이렇해하는거랑...


발사할인스턴스 미리많들어두기 -> 발사버튼을눌를때마다 총구에 가져오기 이렇해하는건...


처리면에서 크게달른거임... 유저가보는건똫갛지만말임....


그래서어떻해하면 최적화가잘되느냐


1. 않쓰는 자원 비활성화하기

2. 않쓸거면 파괴하기

3. 실시간으로 자꾸 다른 자원참조하지안기

4. 가벼운자원쓰기

5. 실시간연산은필요할때만쓰기

6. 지역변수짱많이쓰기


이렇해정리할수있겠음...