시행착오

[ openGL ES & ius2DEngine] 최적화

조규현15 2015. 10. 4. 11:01
반응형

흔히 MVP( Model - View - Projection )을 연산하여 정보를 셰이더에게 넘겨준다.

다만, 광원연산을 위해 V와 P를 따로 정보를 넘겨줘야 할 때가 있다.

ius Project에서는 2D렌더링이기 때문에 광원이 사실 필요가 없었다.

하지만, 나중에 필요하겠지 라는 생각으로 연산을 M - V - P를 모든 Object에서 수행했다.

사실, 이 부분은 Projection을 다시 계산할 때 VP를 구할 수 있으므로 중복 연산처리이며 모든 Object에서 이뤄지는 연산이기에

성능저하의 한 부분이라 생각해서 수정했다.


그리고 Singletone 패턴을 적용하면서 Instance 콜을 자주 호출하게 됬다. 사실 싱글톤은 객체의 접근을 용기하게 할 뿐이지

실제 접근은 Static 객체에 메소드 콜로 자기자신을 가져다 쓸 수 있게 되어있다. 사실 그냥 지역변수의 접근이 빠르다고 생각할 수 있다.

그럼으로 싱글톤 객체가 자주 호출되는 부분에서는 지역변수를 따로 두어 2중 접근이 되지 않도록 수정했다.


위 2가지를 수정함으로써 이전에 골치아팠던 프레임 드랍은 많이 사라졌다.


교훈 : 모든것을 고려하면 덩치가 너무 커진다.


반응형

'시행착오' 카테고리의 다른 글

GooglePlayGameService Eclipse 연동  (0) 2015.10.27
IIS기반 FTP 설정  (0) 2015.10.20
EMS 수정  (0) 2015.04.03
Hadoop file IO  (0) 2015.01.28
아파치, 톰캣 연동 한글 깨짐 해결  (0) 2015.01.16