Android는 Java를 이용하기 때문에(*1), Java의 우선순위설정을 사용하여 Thread의 우선순위(*3)를 정할 수 있다. Java에서 현재 Thread의 우선순위설정하려면 다음과 같이 한다. Thread.currentThread().setPriority( int priority ); 이 코드에서 priority 값은 10~1값을 넣어주면된다. 보통 쓰레드가 생성되는 중간정도의 (중간값,기본값) 값은 5로 되어 있다. Java 프로그래밍에 익숙한 독자라면, 이 코드는 그리 어렵지 않다. 하지만, 위의 코드로 아무리 최고값인 Thread.MAX_PRIORITY값을 넣어도 끊기는 경우가 있다. 특히 음악과 같이 소리를 실시간으로 처리하는 앱에서 주로 발생하게 된다(*2). Thread의 최고치를 ..
GPU도 연산회로를 포함하고 있다. 게다가 이 연산은 3차원 공간과 색공간을 처리할 수 있는 특화된 연산함수를 포함한다. 주로 삼각함수와 고등학교에서 배운 벡터연산 등을 빠르게 계산할 수 있게 설계가 되어있다. 이 것을 잘 활용한다면 CPU의 부하를 줄이고 코어수가 훨씬 많은 GPU를 이용하기 때문에 더 많은 계산을 할 수 있다. OpenGL ES 는 3.1부터 이 연산을 바로 지원하도록 하고 있다. 이 전까지는 뭔가 그리는 것으로 작업 끝내는 용도였지만, 이 제 연산만 하고 다시 CPU에서 끌어다 쓸 수 있게 지원을 해준다. 그 것이 ComputeShader라는 녀석이다. 3.0이하 버전에서도 약간의 트릭을 써서 만들 수는 있다. Fragment shader로 그려서 FBO에 결과를 다시 읽어오면 같은..
우선 Choreographer의 기본 방식을 모르는 독자는 다음의 링크를 보고 오기를 바란다. 기본적인 내용과 Java코드가 있다. jamssoft.tistory.com/231 안드로이드 Choreographer 사용하기 인스턴스 생성하기 Choreographer는 new를 통해 생성할 수도 없고, 다른 방법으로 만들어야 한다. Choreographer choreographer = Choreographer.getInstance(); 위와 같이 static함수를 호출하는 것으로 끝난다... jamssoft.tistory.com Native에서 Choreographer를 사용하려면 Api Level이 24(Nougat/누가)이상이 되어야 한다. 따라서 아직 누가 미만의 기기들이 많은 관계로 되도록이면 Jav..
인스턴스 생성하기 Choreographer는 new를 통해 생성할 수도 없고, 다른 방법으로 만들어야 한다. Choreographer choreographer = Choreographer.getInstance(); 위와 같이 static함수를 호출하는 것으로 끝난다. 어짜피 화면에 그려지는 시간이라는 것은 정해진 거라 한 개만 있으면 충분하기 때문에 singleton방식으로 동작하게 만들어 두었고, 따라서 공유되는 자원이라 필요가 없어져도 일부러 삭제할 필요도 없다. 물론 최소한의 메모리는 차지하기 때문에 다음과 같이 하는 것으로 삭제작업을 하면 된다. choregrapher = null; Choreographer는 Looper를 이용하기 때문에 "Choreographer.getInstance()"를 호..
Java : Build.VERSION.SDK_INT NDK : int android_get_device_api_level() Android Version Table Version API Build.VERSION_CODES Name 커널 Exposed 1.0 1 BASE 2008/10 1.1 2 BASE_1_1 2009/2 1.5 3 CUPCAKE CupCake 2.6.27 2009/5 1.6 4 DONUT Donut 2.6.27 2009/9 2 5 ECLAIR Eclair 2.6.29 2009/10 2.0.1 6 ECLAIR_0_1 2.6.29 2009/12 2.1 7 ECLAIR_MR1 2.6.29 2010/1 2.2 8 FROYO Froyo 2.6.32 2020/6 2.3~2.3.2 9 GINGERB..
안드로이드의 Paint는 기본적으로 외부폰트파일을 이용할 수가 있다. 앱에 폰트파일을 포함하여 이를 불러올 수 있게 이미 함수를 지원해준다. 이 함수는 Typeface class내에 있다. 함수의 원형은 다음과 같다. public static Typeface createFromAsset( AssetManager mgr, String path ); 함수 원형에서 보이듯, 외부서체를 이용하려면, Assset에 외부서체 파일을 넣어 두어야 한다. 지원하는 외부서체는 OTF와 TTF파일을 지원한다. 우선 Asset폴더에 사용할 서체를 넣고, 외부서체를 Typeface 인스턴스로 만든 후, Paint에 넣어주면 된다. Asset폴더에 서체파일 넣기 Asset폴더를 만들지 않았거나 없다면 다음과 같이 프로젝트화면에..
안드로이드기기에서 TTS를 설정/사용하는 법은 다음의 링크입니다. https://jamssoft.tistory.com/45 이문서는 TTS/STT기능을 이용하여 동작하는 앱을 소개하는 페이지입니다. TTS를 사용하는 앱 중에 대표적인 앱을 소개하려고 합니다. 필자가 써본 바로는 완벽하지는 않지만, 정말 급할 때 쓸 수 있는 앱입니다. 물론 결과를 신뢰할 수는 없지만, 어쩔 수 없는 상황에서 써야하는 앱이라 생각합니다. Google에서 만는 번역 앱입니다. 단순히 구글 번역기의 앱 버전이라 할 수 있습니다. 이 앱은 앱이라는 말 그대로 안드로이드기기에서 사용하기에 최적화되어 있습니다. 마이크로 문장을 이야기 하면, 번역되어서 스피커로 번역된 소리를 들려줍니다. 이 링크를 클릭하시면 플레이 스토어의 Goog..
TTS(Text to speech)를 필자가 처음 본 것은 1989년도 였습니다. 영어만 되기 했지만, 지금 사용하는 TTS와 비교해보면, 어떻게, 그 옛날에 "어떻게 이 걸 만들어 낸 사람이 있으며, 어떻게 이 걸 만들 생각을 했을까?"라는 생각이 들 정도로 놀라웠습니다. 그 때의 상황을 좀 설명하면 사운드카드(사운드모듈)도 없던 시대입니다. 사람의 목소리는 컴퓨터에서 나오지도 않았으며, 나오는 수준이 "삐~삐~뽀~뽀~"정도였습니다. 악기소리 흉내내는 신디기능도 없을 때 입니다(주1). 그 프로그램을 실행시키고 문장을 치면, 신기하게도 아주 둔탁하고 이상한 소리긴 하지만 사람 소리가 들렸습니다. 상당히 정확한(?) 발음으로 읽어 줬습니다. 그 당시 메모리가 48kBytes(진짜임)인 컴퓨터에서 이런게 ..
TTS 설정에 관한 내용은 다음의 링크를 참고하세요. https://jamssoft.tistory.com/45 TTS 사용 / TTS 설정 #1 TTS(Text to speech)를 필자가 처음 본 것은 1989년도 였습니다. 영어만 되기 했지만, 지금 사용하는 TTS와 비교해보면, 어떻게, 그 옛날에 "어떻게 이 걸 만들어 낸 사람이 있으며, 어떻게 이 걸 만들 생각을 했.. jamssoft.tistory.com 안드로이드 TTS 프로그래밍 변경사항 : 너무 대충정리한 거라.. 올바르지 않는 부분이 많을 수 있다. API 4(DONUT) TTS지원시작 API 8(FROYO) areDefaultsEnforced : 사용자 설정을 변경하는 기능이 있었던 건 같은데.. API 13 NDK에서 지원시작.. A..
- Total
- Today
- Yesterday
- 아끼는 법
- 재테크
- 컴퓨트쉐이더
- 적금
- 컴퓨트셰이더
- OpenGL ES
- 전기료
- 전기세
- 재태크
- 예금
- 티스토리
- 경제보복
- ComputeShader
- 안드로이드
- choreographer
- Android
- texture
- 텍스처
- 금리
- TTS
- 전기요금
- 에어콘
- 애드핏
- 애드센스
- 에어컨
- 공유 컨텍스트
- 사용료
- OpenGLes
- gpgpu
- 블로그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |