개발자 블로그

삼성 갤럭시 GOS 논란에 대한 나의 생각 본문

스마트폰

삼성 갤럭시 GOS 논란에 대한 나의 생각

로이드.Roid 2022. 3. 3. 23:53

뉴스는 아무래도 시국이 시국인지라.. 조금 조용한 것 같은데, 유튜브에서는 테크 유튜버들이 모두 관련 영상들을 올리고 있어서 꽤 논란이 큰 것 같다.

참고로 나는 앱 개발자고 아이폰, 안드로이드 둘 다 개발을 한다. 뭐.. 앱 말고 다른 것들도 하긴 하는데.. 암튼 메인은 앱이다.

GOS는 Game Optimizing Service의 약자로, 자세한 내용은 나무위키에 올라와있다.
https://namu.wiki/w/Game%20Optimizing%20Service

저 게임 최적화 서비스라는 앱이 이번에 새롭게 출시된게 아니었기 때문에 처음에 이 논란을 접하고 조금 의아해했다. 근데 보니깐 상황이 예전이랑 좀 다른 것 같긴 하더라.

예전에는 게임런처? 게임튜너? 뭐 이런 이름으로 이미 있던 앱이다. 하는 기능은 지금 GOS랑 동일했고. 게임 앱을 실행시키면 하단 네이게이션 버튼 옆으로 조그만 버튼이 하나 생긴다. 그걸 터치하면 게임튜너 앱이 떠서 거기서 성능을 조절할 수 있었던 걸로 기억한다. 내가 기억하기로는 당시에는 최적화(성능 제한) 옵션을 끌 수가 있었다. 근데 지금은 사용자가 마음대로 끌 수가 없다고 한다. 기본으로 설치되는 앱이라서 삭제도 못하고..

그래도 지금 갤럭시S22가 출시되기 전, 아니 One UI 4.0이 출시되기 전이라고 해야되나? 그 때는 ADB 툴을 이용해서 이 GOS를 제거할 수는 있었다고 하는데, 지금은 GOS를 제거하면 성능이 최하로 게임이 돌아간다고 한다. 그러니깐 GOS가 돌아야 성능이 부스팅이 되는 뭐 그런 개념이라고 봐야되나? 

이 GOS와 관련해서 예전에 아주 골치를 썩은 경험이 있다. 그 때 당시에는 게임 앱을 서비스하는 스타트업에서 일하고 있었다. 게임이라고는 하지만 뭐 언리얼이나 Unity 같은 엔진을 사용하는 것도 아니고, 구조적으로는 그냥 카카오톡 같은 채팅 앱에 더 가까운 그런 게임이었다. 근데 갤럭시에서는 이걸 게임 앱이라고 판단하더라. 처음에는 스토어에 등록된 카테고리 정보를 가지고 판단하는 줄 알았는데, 지금 보니깐 아예 GOS 적용되는 앱 패키지명 리스트(DB)가 있더라. (설마 이걸 사람이 관리..?)

대략 1만건 정도의 앱이 리스트에 포함되어있고, 게임 뿐만 아니라 카메라앱, 인스타그램 같은 소셜미디어 앱, 쇼핑몰 앱도 포함되어있다. 전체 목록은 아래 링크에서 확인 할 수 있다.
https://docs.google.com/spreadsheets/d/1Z9_oK3fH-8-fUWednDzRR57A3-aCr2Nbi650yQN-gjE

 

CategoryInfo.db

CategoryInfo pkgName,category,fixed com.sec.android.app.clockpackage,managed_app,1 com.sec.android.app.myfiles,managed_app,1 com.android.vending,managed_app,1 com.sec.android.app.popupcalculator,managed_app,1 com.android.settings,non-game,1 com.sec.android

docs.google.com

 

다시 본론으로 돌아와서.. 이놈의 GOS가 당시 내가 개발하던 게임앱을 실행하면, 강제로 기기 해상도를 줄여버리는데 특정 기기(보급형 기기였던걸로 기억한다.)에서 기기 사이즈를 제대로 못 가져오는 문제가 있었다. 뭐 앱 개발해본 경험이 있으면 잘 알텐데, 기기의 넓이, 뷰의 사이즈, 이미지 사이즈 같은 값들을 구하는건 흔한 일이다. 해상도를 강제로 줄여버렸으면, 그 줄어든 해상도로 값을 알려줘야 되는데, 이 특정 기기에서는 어떤건 줄어든 해상도 기준으로 값을 주고, 어떤건 원래 기기의 해상도를 기준으로 값을 주고 해서 아주 골치가 아팠던 기억이 있다. 이걸 해결하긴 했는데.. 어떻게 해결했나 기억이 안나네.. 오래전 일이라..-_-a

아, 참고로 위 리스트에 그 게임앱도 포함되어있다. 물론 "게임" 앱으로.. 그냥 일반 채팅 앱이랑 다를게 없는데..-_-;; 그리고 검색하다가 알게 된건데, 랑그릿사라는 게임은 목록에 없단다. 랑그릿사 정도면 그래도 나름 네임드 게임일텐데.. 개 하꼬 취급이네. 

 

아마 GOS 이슈가 지금 이정도로 논란이 된건 삼성측의 인터뷰가 불을 지핀게 아닌가 싶다. "GOS는 사용자를 보호하기 위한 것!".. 이라는 내용의 인터뷰.. 예전 애플의 배터리 게이트가 떠오른다. 따라할게 없어서 그런 것 까지 따라하는건가?

그리고 GOS에서 강제로 성능을 낮추는게 이번에 더 심하게 적용되었다고 한다. 최신 폰인데도 불구하고 이전 세대의 갤럭시에서 더 게임 성능이 좋게 느껴진다면.. 소비자 입장에서는 당연히 빡칠 수 밖에 없지. 4K 영상을 보고 싶어서 비싼 돈 주고 4K 모니터를 장만했는데, '사용자의 시력 보호를 위해 FHD까지만 감상할 수 있습니다~' 뭐 이런 느낌 아닌가? 나 같아도 존나 개 빡칠 것 같은데.. 이쯤되면 그냥 아직도 갤럭시 쓰는 사람들이 호구인 것 같다. 중고로 사는거면 몰라도 신제품 정가 주고 사는거라고 하면.. 흑우 맞지 뭐.. 아이폰이라는 대체제가 없는 것도 아니고. 새거 가격은 얼추 비슷하지 않나? 뭐.. 폰은 맨날 중고로만 사서 가격은 잘 모르겠네.

그리고 성능 제한을 앱의 패키지명으로 비교해서 제한한다는게 너무 웃겼다. 아니 지금 씨발 세상이 어떤 세상인데.. 알파고가 이세돌 기사를 이겼던게 몇 년 전인지 기억도 안 날 정도로 오랜 세월이 흘렀는데.. CPU 파워 존나 쓰고, 배터리 소모 존나 심한 앱들을 판단하고, 사용자의 기기 사용 시간, 충전 시간 패턴 같은걸 학습해서 좀 스마트하게 쓰로틀링을 걸었다면 어느정도 납득은 갈 것 같다. 근데 요즘 같은 세상에 아니 씨발 패키지명 비교라니요.. 이러고도 안드 진영 대빵이라고 할 수 있습니까? 

이게 문제가 뭐냐면.. 내 폰은 배터리도 존나 많고, 냉동창고에서 돌리는거라서 온도도 존나 낮은데도 무조건 저 DB 목록에 있는 앱을 켜기만 한다면 해상도 떡락.. CPU 클록 떡락.. 순식간에 몇 세대 전 구형 모델로 돌아간다는 소리다. 하여간 씨발 아주 입으로만 인공지능.. 인공지능.. 현실은 씨발 패키지명 비교.. ㅋㅋ

저 DB 리스트에 벤치마크 앱도 포함이 되어있다면 그래도 '어 씨발 존나 솔직하네~' 하고 인정할 수 있을 것 같다. 근데 벤치마크 앱들은 CPU, GPU 존나 갈구는데도 이악물고 모른척 하듯이 포함 안시켰다. 이게 뭐냐? 성능 보여줄 때는 벤치마크 앱 돌릴테니깐 그 때는 이 핸드폰 성능 존나 좋음 해놓고, 막상 좀 부하걸리는 앱(저 리스트에는 게임 앱만 있는게 아니다.)을 실행하면 성능이 반토막 난다는 소리. 뭐 이렇게 해서 얻는 이득은 내구도, 기기 안정성, 배터리 사용시간 정도가 될 것 같다. 경우에 따라서는 이걸 선호하는 사용자도 있을 것 같다. 앞에서 언급한 이유들 때문에. 근데 최소한 이걸 사용자가 선택할 수 있게는 했어야지..

지금 GOS 앱은 사용자가 선택할 수가 없다. 대기업이나 보안에 민감한 회사 근무 경험이 있는 사람들은 대부분 알텐데, 일반적으로 회사에서 지급되는 PC에는 수많은 보안 프로그램이 깔려있다. 그 중에 하나가 사용자가 실행하는 앱을 모니터링 하는 앱이다. 보통 저작권 문제가 있는 앱이나 보안에 위협이 될 수 있는 외부 메신저 앱 같은걸 사용하는지 감시할 목적으로 돌아가는 앱인데, GOS도 동작 방식이 이런 악성 앱들과 비슷하다. 앱을 실행시키면 패키지명을 검사해서 저 DB에 포함이 되어있는지 체크한다. 그리고 포함이 되어있으면 서버에서 정책을 내려받는다. 해상도를 어떻게 조절할지, CPU 클럭을 어떻게 조절할지 등이 그 정책이다. 이게 뭐 회사에서 지급된 폰이라면 감수하겠지. 근데 이건 내가 내 돈주고 산건데 아니 씨발 왜 이런 감시를 당해야 됨?

 

갤럭시 폰의 한가지 더 웃긴점을 알려주자면.. 안드로이드에는 AlarmManager라는게 있다. 보통 뭐 특정 시간이나 일정 시간 주기로 어떤 동작을 해야 되는 경우에 많이 사용한다. 그렇다보니 알람이나 타이머 같은 앱은 거의 무조건 쓰게 되는데.. 삼성의 괴랄한 최적화는 여기에도 관여를 한다. 알람 앱의 생명은 정확한 시간에 알람이 울려야 된다는 것일텐데.. 앱 패키지 명에 '시간'이나 '알람' 같은 의미를 포함한 단어가 없으면 알람이 4분씩 밀린다. ㅋㅋㅋㅋ

아니 씨발 뭐 랜덤하게 밀린다고 하면.. 아.. 배터리 수명을 위해서 핸드폰이 깨어날 때 일괄처리하려고 알람 명령을 무시하나? 뭐 이런 합리적인 추측이라도 할텐데.. 이건 정확하게 4분씩 밀린다. 이유는 GOS 이슈와 비슷하다. 패키지명에 time, alarm, clock. 뭐 이런 단어가 있어야 이런 괴뢀한 최적화가 관여하지 않는다. 그래서 처음에 알람앱을 하나 만들어서 마켓에 올렸다가 갤럭시 폰 사용자들한테 1점 짜리 리뷰 오지게 받고, 패키지명 수정해서 신규로 다시 올린 아주 좃 같은 경험도 있다. 이게 말이 되냐? 씨발.. 알람 앱을 만들려면 무조건 패키지명에 alarm이 포함 되어야 한다는게.. 구라 같지만 진짜다. 참고로 LG폰은 존나 정상적으로 동작했음. (그럼 뭐하냐.. 무한 재부팅 문제 해결도 못하고 지금은 사업 접었는데..)

 

근데 또 웃긴건 막상 삼성에서는 LG폰 욕하더라. ㅋㅋㅋ 웹뷰 동작이 뭐 이상하다나 뭐라나.. 내가 볼 때는 잘 모르겠다. LG 폰에서는 이런 괴랄한 최적화 같은건 없었으니깐. (근데 씨발 무한 재부팅.. 하..) 뭐 안드로이드 개발자 입장에서는 사실 어쩔 수 없이 갤럭시를 쓸 수 밖에 없다. LG도 이제 모바일 사업 철수하고 앱 사용자의 80~90%는 다 갤럭시 폰 사용자다. 그렇다보니 CS 대응을 위해서라도 무조건 갤럭시 폰은 있어야 된다. 간혹 짱깨폰 쓰는 사람들이 있는데.. 하.. 짱깨폰 생각하니깐 또 존나 빡치네. 짱깨폰도 할말이 참 많은데.. 이 글의 주제에서 벗어나는 얘기니깐 그냥 다음에 해야겠다.

처음에는 그냥 가볍게 쓰려고 했는데 글 쓰면서 감정이 격해져서 좀 감정적으로 쓴 것 같긴한데. 그래도 그냥 수정안하고 올릴란다. 나 같은 하꼬 블로거는 이런 맛도 있어야지.

Comments