일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OPCUA
- 플러터
- 싱글톤
- XR
- named parameter
- 유니티최적화
- Unity 4k 아이콘 깨짐
- 다트기초
- memorymangement
- 4KUnity
- 네임드 파라미터
- 플러터폴더
- 포지션 파라미터
- xml unity
- C# memorybarrior
- unity icon
- 플러터프로젝트
- Csharp
- position parameter
- 유니티
- Unity
- c#
- Flutter
- 메모리배리어
- optional prameter
- flutter folder
- MemoryBarrier
- Unity3d
- 폴더구성
- unity 아이콘 깨짐
- Today
- Total
목록분류 전체보기 (36)
배 타다 개발자
WEBGL 빌드 최적화 막 작업하다 보니WEB GL 프로젝트가 100Mb가 넘어 버렸다. BUILD and RUN File > Build&Run을 클릭하여 빌드한다. 빌드 로그 분석 Console 창 ... 아이콘을 우클릭하고 Open Editor Log 창을 열면 어느 부분이 용랼을 많이 가져가는지 추적할 수 있다. Ctrl + f 로 Build Report 를 검색 Texture Other Asset 이 주로 메모리를 잡아 먹고 있음을 확인하였다. 정확히 어떤 텍스쳐가 얼마나 차지 하고 있는지 확인도 가능하다. 최적화 Sound 프로젝트에는 Sound는 거의 쓰지 않아서 제거해줄 것이다. project창의 위 버튼을 클리해서 'Audition Clip'만 검색되도록 하고 다 날려 준다. Texture..
import numpy as np # 수치해서 전처리 import pandas as pd # 데이터 프레임 관리 모듈, 테이블으 쉽게 읽을 수 있도록 도와준다. import matplotlib.pyplot as plt # 데이터 시각화 import seaborn as sns plt.style.use('seaborn') # 원하는 시각화 에셋 sns.set(font_scale=2.5) import missingno as msno import warnings # ignore warnings warnings.filterwarnings('ignore') %matplotlib inline # pandas를 이용해서 csv파일을 읽어온다. df_train = pd.read_csv('../input/titanic/t..
메모리 배리어(Memory Barrier) 이 코드를 읽고 실행해보자. 싱글쓰레드에서는 절대로 마지막 반복문을 빠져나올 수 없다. 하지만 생각보다 반복문을 잘 빠져나오는 것을 알 수 있다. 이는, 멀티쓰레드에서는 하드웨어 최적화가 적용되기 때문이다. 즉, 하드웨어가 쓰레드(Thread_1,Thread_2)에 준 연산들이 서로 상관이 없는 연산이라고 생각하면 의 연산 순서를 임의로 바꾸어서 연산하는 경우도 있기 때문이다. 이 때 메모리 배리어(Memory Barrier)를 사용한다. 메모리 배리어를 사용한 를 실행해보면 반복문을 빠져나오지 못한다. 메모리 베리어를 통해 코드 재배치와 가시성을 확보 할 수 있다. 메모리 배리어의 가시성 멀티쓰레드 환경에서 한 쓰레드의 연산상황을 중앙 메모리에 업로드해서 다른..
캐시이론 변수에 접근 시에 인접한 메모리 주소에 접근할 확률이 높은 것이라 예상 이 코드를 읽어 보자. 실행결과는 다음과 같은데, 생각해 볼 것은 아래의 코드의 실행 결과는 똑같은 데 걸린 시간은 거의 2배가 든 이유가 무엇일까?
Enabled 버튼을 클릭하면 스낵바(I am Scnack Bar) 가 뜨는 코드이다. 빌드 컨텍스트(Build Context)를 이용하여 구현 코딩쉐프 - 플러터 순한맛를 참고하면 스낵바를 사용하기 위해 body 안에 builder를 둠으로써 구현했다. 강의에서는 FlatButton을 사용했지만 FlatButton은 없어졌고 TextButton 위젯을 대신 사용하였다. 다음 코드의 주된 내용은 스낵바를 상용하기 위해서 Body안에 builder를 두너 컨텍스따로 만들어주어야했다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget..
디지털 시계 UI 중 Text를 가지고 있는 오브젝트에 접근할 수 있게 한다. DateTime.Now.Tostring 메소드를 통해서 원하는 시간을 String으로 가져오는 함수를 만든다. 1초에 한번씩 현재시간을 가져오도록 Coroutine을 만든다. Init(또는 Start) 함수에서 코루틴을 시작해준다. private void Start() { // 디지털 시계 코루틴 Start StartCoroutine(GetTimeEverySecond()); } private void GetCurrentTime() { TMP_Text dateTimeText = Get((int)GameObjects.DateTimeText).GetComponent(); dateTimeText.text = DateTi..
요즘 유니티 기본 내장 UGUI대신에 Text Mesh Pro 를 많이 쓴다. 문제는 한글 폰트가 자주 깨진다는 것인데, 같은 이슈가 3번 정도 반복이 되어서 정리한다. 먼저 이곳에 가서 일차적으로 Text Mesh Pro로 폰트를 생성하면 대부분의 문제가 해결이 된다. 그러나 그 이후에도 해결이 안될 때는... 만든 폰트의 Generation Setting을 유심히 보자. Source Font File에 원본 폰트를 넣어준다. Altas Population Mode : Static -> Dynamic 이렇게 폰트를 맞추어주면 대부분은 적용이 된다. 사용 UI 에셋에 적용하기 인풋필드에는 적용이 안돼.... 상용 UI 에셋을 사용하니, 인풋필드에는 TMP로 폰트를 만들어 주었음에도 불구하고 한글이 여전히..