이번 핑거아이즈의 속도 개선을 위한 전반적인 코드 리팩토링 시에 고려했던 최적화 항목입니다. 위의 항목중 2/3정도만 반영되었고.. 나머지는 반영하지 못했습니다. 코드 최적화 작업 시간을 따로 마련해 놓지 말고.. 코드 작성 시에 미리 미리 고려해 적용해 놓아야한다는 당연한 진리를 새삼 깨닫게 되었습니다.
- 가능하다면 Sprite 대신에 Shape 사용하기
- cacheAsBitmap 적절히 사용하기
- 라벨에 대해 TextField 보다는 FTE(Flash Text Engine) 사용하기
- 가능하다면 mouseChildren, mouseEnable을 false 지정하기
- Array 대신 Vector.
사용하기 - 드로잉 API(drawPath, drawGraphicsData, drawTriangles) 사용하기
- object cache 전략 사용하기
- 폴리곤 내부 판정은 hitTestPoint보다 직접 구현해 사용하기
- 파생될 일이 없는 클래스는 final로 지정하기
- floor, ceil은 int 형변환으로 대체하기(floor(1.5) -> int(1.5), ceil(1.5) -> int(1.5)+1)
- abs보다는 직접 -1을 곱하는 방식으로 처리하기
- for 반복문 대신 for each 문 사용하기
여하튼… 위의 최적화 코드등을 통해 기존 속도 대비 10%정도 향상된듯합니다만… 체감하기는 어려운 향상인지라 다소 아쉬움이 많이 남습니다.
안녕하세요. 김형준 대표님~
국토연구원에서 뵈었던 망고시스템 이한진입니다.^^
이민파 소장님께 전해주신거 잘받았습니다.
안주셔도되는데 쫌 송구스럽네요~
이왕주신거니 좋은책보겠습니다^^
그럼 또 됩겠습니다.
네, 한진씨 ^^
작은 성의니 기분 좋게 받아주시고..
좋은 책이나 영화 보시기 바래요~
날씨가 후덥지근한데 화이팅하구요~