본문 바로가기
반응형

전체 글218

Lock 기초 namespace SeverCore {     internal class Program     {         static int number = 0;         static object _obj = new object();         static void Thread_1()         {             for (int i = 0; i             {                 //상호 배제 Mutual Exclusive                 Monitor.Enter(_obj);//문을 잠구는 행위                  number++;                 Monitor.Exit(_obj);//잠금 해제              }         } .. 2024. 7. 30.
2024.07.26 퍼즐 로그라이크 게임!! 게임을 만들어 보려고 합니다 퍼즐과 로그라이크를 섞은 게임을 만들어 보려고 합니다 https://www.youtube.com/shorts/-8SIzhVeYVA?feature=share처음 로그인 장면부터 만들어 보겠습니다 매일매일 업데이트 하며 꾸준히 올리겠습니다! 2024. 7. 29.
VR 기기 없이 유니티 연동하기 집에 VR 기기가 없다고 VR테스트를 못한다고요 ??물론 VR기기보다는 아쉽지만 XR Interaction Toolkit으로 테스트가 가능하답니다.Project Setting -> XR Interaction Toolkit ->Use XR Device Simulator in scenes을 체크해주시면 됩니다  https://youtu.be/0_mSdo3GsfE?feature=sharedTab : Head Mounted Display -> Left Controller -> Right Controller순으로 Device input 변경 U:Head Mounted Display1) Mouse(Look) : 마우스 움직임으로 바라보는 방향을 컨트롤 합니다.2)W,S,A,D + Q,E(Movement) : 카메라.. 2024. 7. 29.
배칭 기본 배칭이 가능한 오브젝트 1. Atlas를 통한 최적화2. 다이네믹 배칭3.정적 배칭 4.SRP 배칭 5.GPUIstancing 2024. 7. 27.
Atlas를 통한 Batches 최적화중 하나인 Atlas를 통한 Batches를 줄이는 방법은 알아보자 현제 블록4개와 카메라만 있는 Batches수는 10개인것을 확인할 수 있습니다. 그리고 아틀라스를 생성하고 테스트 해보겠습니다하지만 아틀라스를 한 스프라이트인 경우Batches수가 7이된걸 확인할수 있습니다 이를 통해 Sprite들을 아틀라스로 묶어 최적화를 하는 방법을 배웠습니다 ! 2024. 7. 27.
이진원 포트폴리오 입니다 서버관련 깃헙https://github.com/MostLov2/SeverFramwork.git리얼피티 작업부분https://drive.google.com/drive/folders/13rpoZYIN_4BsG_UJeVu1iR1HzPnb595-?usp=drive_link    https://youtu.be/Iwrl5a8kH1o?feature=shared블로그https://mostlove.tistory.com/ 2024. 7. 26.
메모리 배리어 namespace SeverCore {     internal class Program     {         //메모리 배리어         //A)코드 재배치 억제         //B) 가시설                   //1) Full Memory Barrier (ASM MFENCE, C$ Thread.MemoryBarrier) : Store/ Load 둘 다 막는다         //2) Store Memory Barrier(ASM SFENCE) : Store만 막는다         //3) Load Memory Barrier( ASM LFENCE) : Load만 막는다         static int x = 0;         static int y = 0;         static.. 2024. 7. 26.
디버그 최적화 namespace SeverCore {     internal class Program     {         volatile static bool _stop = false;         static void ThreadMain()         {             Console.WriteLine("쓰레드 시작");             while (!_stop)             {                 //누군가 stop 신호를 해주기 기다린다             }             Console.WriteLine("쓰레드 종료");         }         static void Main(string[] args)         {             Task t .. 2024. 7. 26.
캐시 1) TEMPORAL LOCALITY시간적으로 보면, 방금 주문한 테이블에서 추가 주문이 나올 확률이 높다.방금 주문한걸 메모해 놓으면 편하지 않을까?2) SPACIAL LOCALITY공간적으로 보면, 방금 주문한 사람 근처에 있는 사람이 추가 주문을 할 확률이 높다. 방금 주문한 사람과 합석하고 있는 사람들의 주문 목록도 메모해 놓으면 편하지 않을까? 2024. 7. 26.
멀티쓰레드 Thread t = new Thread(MainThred);//쓰레드 생성 t.Name = "Test Thread";//쓰레드 이름 지정 t.IsBackground = true;//백그라운드  t.Start();//쓰레드 시작 t.Join();//쓰레드가 끝날때 까지 기다린다  ThreadPool.QueueUserWorkItem(MainThred);//백그라운드로 돌아가는 쓰레드  ThreadPool.SetMinThreads(1, 1);//최소 쓰레드 갯수 ThreadPool.SetMaxThreads(5, 5);//최대 쓰레드 갯수for (int i = 0; i {      ThreadPool.QueueUserWorkItem((obj) => { while (true) { } }); } ThreadPool.. 2024. 7. 26.
Batching https://youtu.be/w14yjBlfNeQ 2024. 7. 25.
유니티 내부 NotificationSettings 사용방법 https://youtu.be/XjxRL7Ax9-I 2024. 7. 24.
반응형