[개발생각] StructuredTaskScope에 대해서
와.. 항상 코틀린이 문법적으로 더 깔끔하다고 생각했는데.. StructuredTaskScope 보고, 그렇지만은 안다는걸 느꼈다.. 코틀린을 하면서, 어렵고 난해하다고 생각하는 부분/기능이 코루틴이였다. 그 개념을 이해하는데, 정말 시간이 걸렸다. 이해한거같은데, 모르겠고, 모르겠는데, 이해되는 부분도있고 하는 애매한 상태가 오래됬는데, 관련 코틀린책을 3번 정도 읽으니, 이해를 마침내 되었다. 그래도 코루틴에서 난해한 부분이 "구조화된 동시성"에 대한 기능에 대한 이해였다.이해는 되지만, 사용법이 깔끔하지 않다고 할까? 특히 코드 블럭이 중첩되는 경우에 "구조화된 동시성"에 따른 동작 흐름을 판단하는건 많이 복잡했다. DB 트랜잭션 전파(Propagation)와도 비슷한 맥락이랄까? ㅋ 암튼, 코틀린..
[자작게임] 무한의 채굴
유니티로 각잡고 게임한번 만들어보자고해서, 스터디해서 만들어본 방치형 광물 채굴 게임... 유니티를 사람들은 쉽게 생각하지만, 잘 만들려면 유니티를 정말 심도 깊게 스터디해야한다는것을 느꼈다.쉽게 시작할수있지만, 쉽게 끝낼수는 없는 3D엔진툴이랄까? ㅋ 유니티에서 드로우콜 이라는 개념이 있는데, 이건 간단히 이야기하면, 최초 CPU가 GPU에게 “이 오브젝트를 화면에 그려줘”라고 데이터와 함께 요청하는 명령의 단위이다.드로우콜이 많으면 많을수록 성능은 떨어지게 된다. 지속적으로 CPU가 요청을 해야하니, 병목이 생기고 성능이 떨어지기 때문이다. 따라서, 드로우콜을 요청할때, 같은 객체를 한번에 그릴수있게 만들어, 다수의 객체를 그리게 만들거나, 팔레트, 메시를 하나로 합치거나 같이 사용하여, 드로우콜을..