전체 글 53

애드몹 - 콘솔에선 문제없는데 모바일에서 광고 안나올때

기억을 더듬으며 이 창에서 맨 마지막에 Build Failed 라고 뜬 상태로 게이지 바가 멈춰있던걸 별 신경안쓰고 넘어간 적이 있다면 이 방법이 먹힐 가능성이 매우 높다고 자부합니다 Assets → External Dependency Manager → Android Resolver → Force Resolve 를 선택하면 위의 저게 다시 돌아갑니다 완전히 성공하면 이런 창이 뜨게 되고 빌드를 해서 모바일에서 돌려보면 광고가 뜰겁니다 Resolve 하라는 얘기는 적혀있었는데 계속 Force Resolve 가 아니라 그냥 Resolve로 얘기를 해서 삽질만 엄청 해댔네요 근데 저것도 계속 Build Failed 나는 경우면 그건 또 그것대로 더 찾아봐야 할 것이고...

플밍 2022.03.04

캐시 적중률 / 데이터 지역성

유니티 DOTS 자료를 찾던 중 https://youtu.be/yi4nTDQcC78 이런 영상을 발견하게 되어 봤는데 앞에서 캐시 이야기가 나오길래 궁금증이 생겼다 캐시 적중률은 뭐고, 이게 높으면 왜 성능이 높아지는가 부터가 시작이었다 캐시 자체가 이제 속도가 굉장히 빠른걸 이용해서 RAM에서 데이터를 가져와서 저장해놨다가 그 빠른 속도로 필요한 데이터를 CPU에 바로바로 전달해주기 위해 있는 것인데, 속도가 빠른 대신 용량이 굉장히 작다 즉, 그만큼 저장해둘 수 있는 데이터량이 적다는 것. 그래서 캐시 내에 저장해둔 것 외에 다른 데이터를 요청할 때가 오는데, 이때 캐시에서 다시 RAM에서 데이터를 가져와서 CPU에게 전달해주고, 원래같았으면 캐시↔CPU 관계라서 처리속도가 빠른 반면 이 때에는 RA..

플밍 2022.01.31

쉘 정렬

10만개의 랜덤한 순서의 데이터를 정렬할 경우 쉘 정렬이 삽입정렬보다 300배 이상 빠른 걸 볼 수 있다 데이터의 개수라던가, 초기 데이터가 어떻게 나열되있냐에 따라 오차가 있겠지만, 어쨌든 속도차이가 압도적이라는 사실은 변함없다 게다가 구현하기도 막 힘든게 아니라서 사용도 편하다 데이터를 절반으로 잘라서 움짤처럼 묶어서 삽입정렬을 한다 그리고 그걸 다 합치고 다시 절반의 절반으로 다시 자르고 삽입정렬을 한다 이걸 하나씩 다 잘릴때까지 반복하면 정렬 끝 class ShellSorter { public static int[] SortData(int[] data) { int gap = data.Length / 2; int length = data.Length; while (gap != 0) { for (in..

플밍 2021.11.27

삽입정렬

쉘 정렬 보다가 삽입정렬 기반인거 보고 겸사겸사 정리 이런식으로 차례대로 우겨넣는 정렬법 자기차례가 되면 넣어져있는 값들과 비교해나가면서 자신이 갈 수 있는 최대한 앞으로 자리를 잡아서 들어간다 1번째 인덱스부터 자기 앞에있는 숫자보다 더 작으면 계속 앞으로 배치한다 갈 수 있는 최대한 앞으로 갔으면 그 다음 인덱스로 넘어가고, 이걸 마지막 인덱스까지 반복 class InsertSorter { public static int[] SortData(int[] data) { int[] sort = data; //들어있는 숫자 전부 순환하는 반복(0번째 인덱스는 어차피 더 앞으로 갈수가 없으니까 1번째부터 시작하는게 나음) for (int i = 1; i < data.Length; i++) { //기준 숫자 앞..

플밍 2021.11.26

[디자인패턴]명령 패턴

함수 자체를 직접 호출하는게 아니라 객체 안에 함수를 담아두고 해당 객체를 호출하는 패턴이라고 함 Action, Function, Delegate 같은 것들을 생각하면 편하다 public class ActorController : MonoBehaviour { [SerializeField] ICommand _button; void Update() { if (Input.GetKeyDown(KeyCode.Space)) _button.execute(); } } public interface ICommand { void execute(); } 저 _button에 ICommand를 상속받은 다른 클래스를 넣어주고 _button을 가지고 메소드를 호출을 하는것 public class MoveCommand : Mono..

플밍 2021.10.27

바뀐 플레이 콘솔에서 유니티로 구글로그인 사용하기

저번글에선 인앱을 살펴봤으니 이번엔 구글로그인을 만들어보자 https://github.com/playgameservices/play-games-plugin-for-unity playgameservices/play-games-plugin-for-unity Google Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-unity development by creating an account on GitHub. github.com 먼저 여기에 들어가서 다운을 받아준다 여기에 들어있는 패키지 파일을 프로젝트에 넣어주기 위한 것. 다운을 다 받으면 current-build 안에 있는 패키지파일을 임포트시켜준다 임포트를..

플밍 2021.06.22