본문 바로가기
게임 이야기/스타크래프트2

효과 있는지 모르는 최적화 가이드 - 함수 처리 , 안개 효과 , 대화 상자

by LillyLt 2018. 10. 9.
심심해서 만들어본 - 안개 효과 , 대화 상자

위 링크 글의 라이브러리를 개조할겁니다.


특히 슬라이더를 쓸데없이 반복작업 하는 상황이 진자 싫었는데

어제 다 만들고 난후 얼마 안되서야 함수 사용법을 알고...

그동안 난 뭔짓을 한거냐 ㅜㅜ


아무튼 이전 글에서 아래 스샷처럼 아이템1, 아이템2 처럼 반복되는걸 함수로 바꾸어 버릴겁니다.



일단 아이템 분석을 해야합니다.

어떤 부분을 함수 밖에서 변수로 받아올건지

c++ 에서 포인트에 해당하는 상대 참조, 또는 리눅스의 심볼릭 링크에 해당하는 개념을 사용할건지

반환하는 값을 사용할건지 안할건지


전 위 스샷에서 행/열 값과 최소/최대/기본 값, 툴팁은 옵션(선택사항) 으로 함수에서 받아오게끔 할겁니다.

함수 내에서 아이템 생성이 완료되면 반환갑으로 해당 아이템을 넘겨주도록 할거구요


그럼 함수부터 작성합니다



몇가지 간단한 예외 처리(?)를 좀 했습니다.

뭐 예외처리를 할려면 끝도 없지만 걍 대충 합니다.

예를들어 최소값이 최대값보다 크다던지 하는것들도 예외처리 해야하는데 걍 넘어갑니다.


함수 작성이 완료되어서 초기화 트리거도 변경해줍니다



이야 원래 라이브러리랑 비교해보면(이글의 맨처음 스샷이랑 비교) 행동 갯수부터 엄청 줄었습니다.

어우 감격이야 ㅜㅜ


그리고 이제 슬모 없는 변수와 트리거를 정리햇습니다.



최소 최대값을 전역 변수로 했던걸 없앴습니다.

초기화시에만 필요하고 그외엔 필요 없는값들이니까요.


이렇게 최적화가 끝났습니다.


안개.SC2Lib



단 함수 사용 할지 안할지는 잘 판단 하셔야 됩니다.

함수를 사용해야할 정도로 반복 사용을 한다.

반복은 적지만 함수로 처리하는게 효율적일 정도로 내용이 많은 편이다.

해당 트리거에선 자주쓰는건 아닌데 여러 라이브러리에서 한번식은 쓰는 행동이다.

이런경우는 권장합니다.


만약 횟수도 적으면서 내용도 적은 경우에는 오히려 함수 쓰는게 성능이 더 나빠지는 경우도 있습니다.

뭐 게임 최적화에 다라서 다르지만...


다음엔 이전에 만들었던 비중 확률을 함수로 처리해볼까..