안녕 게이들아.
난 현직 프로그래머이고, 오늘은 너희들에게 재미있는 사실을 하나 알려줄까 해.
아이폰4s와 갤럭시 s3을 두고 동시에 아스팔트6를 실행시켜보면 갤럭시가 로딩중일때 아이폰은 이미 게임시작을 하고 있어.
분명 하드웨어적 성능 자체는 갤럭시가 압도적인데 왜 이런일이 생길까?
그건 바로 최적화와 개발언어의 차이지.
안드로이드는 자바 라는 언어를 사용하고 있어.
자바는 tv같은데에도 쓰이는 언어야.
Tv 블루레이 dvd 여러가지 곳에 쓰이고 있지.
자바는 우선 많은곳에서 똑같이 작동이 되어야만 해.
그래서 가상머신을 사용하는데, 이걸 달빅 가상머신이라고 불러.
다시 말하자면 안드로이드는 os 위에 달빅이라는 가상머신이 동작하는데 안드로이드는 자바나 ndk(c, c++) 로 개발된 것을 달빅이라는 가상머신을 통해 실시간으로 기계어로 번역을 하고 동작해.
그런데 ios는 네이티브로 c, c++, 오브젝트c 기반로 작동하고 빌드(프로그램을 만들때) 할 때 바로 기계어코드로 번역되기 때문에 아이폰이 훨씬 빠를수밖에 없는 구조인거지
한국어로 직접 대화(ios) vs 미국인이 통역사를 통해 한국인과 대화(안드로이드)
당연히 퍼포먼스 차이가 날 수 밖에 없는거지.
실제 테스트를 한번 해보면 알 수 있어.
다음에는 메모리에 대해 이야기를 나눠볼게.
안녕!
난 현직 프로그래머이고, 오늘은 너희들에게 재미있는 사실을 하나 알려줄까 해.
아이폰4s와 갤럭시 s3을 두고 동시에 아스팔트6를 실행시켜보면 갤럭시가 로딩중일때 아이폰은 이미 게임시작을 하고 있어.
분명 하드웨어적 성능 자체는 갤럭시가 압도적인데 왜 이런일이 생길까?
그건 바로 최적화와 개발언어의 차이지.
안드로이드는 자바 라는 언어를 사용하고 있어.
자바는 tv같은데에도 쓰이는 언어야.
Tv 블루레이 dvd 여러가지 곳에 쓰이고 있지.
자바는 우선 많은곳에서 똑같이 작동이 되어야만 해.
그래서 가상머신을 사용하는데, 이걸 달빅 가상머신이라고 불러.
다시 말하자면 안드로이드는 os 위에 달빅이라는 가상머신이 동작하는데 안드로이드는 자바나 ndk(c, c++) 로 개발된 것을 달빅이라는 가상머신을 통해 실시간으로 기계어로 번역을 하고 동작해.
그런데 ios는 네이티브로 c, c++, 오브젝트c 기반로 작동하고 빌드(프로그램을 만들때) 할 때 바로 기계어코드로 번역되기 때문에 아이폰이 훨씬 빠를수밖에 없는 구조인거지
한국어로 직접 대화(ios) vs 미국인이 통역사를 통해 한국인과 대화(안드로이드)
당연히 퍼포먼스 차이가 날 수 밖에 없는거지.
실제 테스트를 한번 해보면 알 수 있어.
다음에는 메모리에 대해 이야기를 나눠볼게.
안녕!
앱등이
튼튼이
아이폰이 훨씬 좋은건 맞아. 그러니 친구 추천을 눌러서 개드립 보내자!
앱등이
앱등이
로리제국기사단장
뭘 까고 어쩌고 하는게 아니라, 정말 순수 비교를 원했거든!
ljy58
끝없는 싸움의 끄트머리같은데
구구구구구구
끝없는 싸움의 끄트머리같은데
익명
밥아저씨
ios는 버튼 5개 제외하면 모든걸 화면 안에서 적나라하게 표현해주는게 대부분 왜냐면 안드로이드 처럼 왼쪽 아래에 메뉴 버튼이 없거든.
그러니까 화면만 보고있으면 설정 등등 다 나오지.
존나 어이없었던건 내가 아이폰 4쓸때 오른쪽 아래에 뒤로가기 혹은 취소 버튼 없다고 존나 불편하다고 까였을때 였다. 애초에 걔도 아이폰을 썻다면 불편하다곤 하지 않겠지.
길게 늘여놨지만 아이폰의 큰장점들중엔 최적화 말고도 직관적인 인터페이스가 있다는것
잉텔
개발툴킷을 아이폰 탈옥 트윅 만든다 치고 분석하면서 까봤는데 80년대부터 다져진 프레임(정확히는 90년 초반)이라 굉장히 체계적이고 쩐다.. 그래서 코드에 최적화만 신경 쓰면되... 물론 ios도 4.3.3부터 arc지원 하면서 메모리 누수가 심해지긴 했지만.. 또 안드가 가상머신 차이도 있지만 아이폰은 기본적으로 모든 화면처리를 gpu가 담당함.. 그래서 느리긴해도 스무스해보이지... 심지어 간단히 게임만들때도 그래픽 라이브러리를 안써도 될정도지.. 다만 아이폰4에서 gpu가 꽉차서 cpu로 렌더링 한다는 경고 메시지 나오는 순간 버버벅...
Jay
튼튼이
sdk(소프트웨어 개발 도구) 조차 애플이랑 비슷하게 만들어놓고..아주 간단한 소스작성을 하는데.. 100줄아래의 소스작성을 하는데 말이지..
sdk가 뻗어버리더라고..
원래 개발할 때, 이 sdk의 안정성이 아주 중요하거든.. 진짜 중요해.
얘가 뭐 잘못되어버리면 이때까지 저장해둔거 다 날아가니까.. 무슨상황에서든 다운되어선 안되는데..
바다os는 빌드할때 sdk가 다운되더니.. 결국 멎어버리더라고..
빡쳐서 그냥 친구한테 다시 바다폰 돌려주고 더이상 개발안해..
익명
튼튼이
Software Develop Kit 이라고 하는 것이 그건데..
SDK는 안정성이 아주 중요해, 프로그램을 만들고(몇개의 파트로 나뉘어져 있어) 그걸 한꺼번에 합치는것을 (컴퓨터로 치면 압축파일 만드는것) 빌드라고 하는데, 이 과정에서 문제가 발생하면 빌드가 되지않고, 버그를 수정해야돼.
근데 바다 개발프로그램은 빌드하는 도중에 프로그램이 다운되어버리더라고.
그래서 바다는 개발하지 않고있어. 가장 중요한 안정성을 잃어버렸으니까..
익명
튼튼이
그리고 모든 웹사이트는 표준을 중요시하는데, 현재까지 뚜렷한 표준이 정립된 모바일 플랫폼은 아이폰 밖에 없어서, 모바일 페이지는 모두 아이폰 기준으로 만들어지고 있어. 아닌경우도 존재하지만..
안드로이드 개발할 때 많이쓰는 안드로이드 기기를 기준으로 만들고 버그가 일어나는 기기가 있으면 그 기기에서 돌아갈 수 있게 보완해서 또 패치하고 하는 방식으로 개발하고있지.. 안드로이드는 파편화가 좀 심해..
튼튼이
그리고 오래쓰고, 앱 설치를 많이하면 프레임 드롭현상도 발생하곤 해. 이건 아마 안드로이드 시스템 캐시 문제일거야..
쥬시쿠우울
platinumsh
윈도우랑 같지
레지스트리 수정반복에서오는 성능저하 이건 공초 밖에 답이 없어 근데 ios는 레지스트리를 못건드려
그래서 개발하는데 제한이 있기도 하지만
앱설치삭제를 아무리 해도 그게 os의 성능에 영향을 못주지
튼튼이
잉텔
레지스트리는 윈도우에서만 존재할뿐
익명
아이폰 출시전에 블랙베리기준으로 만들다가 아이폰이 출시되면서 안드로이드os가 불안정한 상태에서 급하게 출시되엇다고 들었어
Os를 다시 개발하기에는 이미 너무 멀리왔다고는 하는데 이게 전문가도 아니고 관련직종에서 일하는것도 아니고 잘몰겠다 이런것도 같이 풀이해줘 객관적으로
익명
인생은나구네길
링크 블로그 글 함 읽어봐바
http://eggy.egloos.com/3776976
쓰레기.
하드웨어가 좋음 뭐해.