Firefox/문제점

 


1. 범례
2. 메모리 누수●#
2.1. 해결책
3. 완성형 이외의 한글 표시 문제●
4. 하드웨어 가속 사용시 검은화면●
5. 리눅스에서의 하드웨어 가속 미지원
6. 터치 기능 문제●#
7. 인쇄 문제
8. 글꼴 문제★


1. 범례


  • ★:해결된 문제
  • ●:일부만 해결된 문제
  • (!):현재 픽스 중
  • #:부가기능을 통해 해결 가능

2. 메모리 누수●#


퀀텀 개발 초기(2017~18년경)에 웹서핑만으로 램 사용량이 수 GB를 넘겨 버리는[1] 어이없는 상황이 발생했다.[사례1][사례2][사례3] 전원을 켠 지 1시간도 안 되어 메모리 3기가를 먹는 위엄.(...) 오히려 크롬보다 메모리를 많이 먹는다는 조사 결과도 있다.
심지어 크롬은 지속적인 업데이트로, 램 먹는 비율이 줄어들었기 때문에 '''이제 크롬만 메모리를 유독 많이 먹는다는 것은 옛말이 되었다.'''
결국 문제점을 인지했는지, 2019년 5월 14일에 들어서야 67버전에 메모리가 부족하면 안 쓰는 탭을 로딩하지 않는 기능이 추가되어 이 문제가 어느 정도 해소되었다.[2]

2.1. 해결책


그래도 여전히 메모리 누수 문제는 일어난다. 이를 조금 더 해결하려면 아래의 방법을 사용하자.
Process Lasso와 같은 자동 메모리 Trim 기능이 있는 최적화 프로그램을 쓰면 회수해 준다.# Process Lasso는 윈도우 API를 이용한 램 Trim을 수행하며, 메모리에 여유가 있다면 Process Lasso의 기본 스마트 Trim을 켜놓는 것만으로도 충분하나[3], 빠듯하다면 좀 더 공격적인 trim을 설정하는 것이 좋다.(firefox.exe를 watchdog에서 1초마다 trim을 하도록 설정하면 대략 메모리 1GB 사용량이 100MB로 줄어드는 효과를 볼 수 있다. #) 아예 파폭 전용으로 이런 공격적인 Trim을 자동구현 해놓은 프로그램 Firemin도 있다, 설치하여 자동 실행되도록 해두는 것만으로도 최대의 효과를 볼 수 있다.(간단 사용법, 홈페이지 설명을 보면 알겠지만 이 역시 윈도우 API를 이용한 램 Trim 프로그램이다. 파이어폭스에 한정한 대신 firefox.exe 등 관련 프로세스의 메모리 사용량이 5MB만 넘으면 무조건 0.5초마다 Trim을 수행하는 공격적인 설정으로 효과를 높인 것[4])
참고로, 사실 이 API가 좀 공격적이라 이걸로 반환된는게 다 누수인건 아니다.[5] 오히려 당장 필요한 것만 남기고 싹 다 (프로그램 자체적으로 캐시 등 성능 목적으로 사용하는 것까지) 반환하는 것에 가깝다. 아래 서술된, 파폭 자체 기능인 Minimize memory usage 버튼을 누른 직후와 비교하면 큰 차이가 있음을 알 수 있다. 다만, 가능한한 가장 극단적으로 공격적인 Trim을 하는 firemin조차도 속도 관련 불만이 크지 않다는 점을 생각하면, 파폭이 점유하고 있는 수백MB의 메모리가(누수를 제외하고도) 꼭 필요한 수준인가에 대한 의문을 제기할 수는 있다.
현재 파이어폭스 자체적으로는 제대로 해결할 방법이 없으므로, 파폭을 제대로 사용하려면 이와 같이 외부 프로그램에서 회수해 주는 것이 필수라고 할 수 있다. 다만 이것들은 윈도우 OS에서만 지원된다는 것이 한계점이라고 할 수 있다.
그 외에 기본 메모리 사용량 자체를 줄이고 싶으면, 설정 → 일반 → 성능에서 권장설정 사용을 체크해제하고 컨텐트 프로세스 제한을 1로 내려주는 방법이 있다.[6] 또한 Tab Auto Tab Discard라는 확장 기능을 사용하면 안 쓰는 탭은 비활성화하고 메모리에서 내려버리므로 메모리 사용량이 줄어든다.[7] uBlock Origin으로 불필요한 광고 자체를 줄이는 것과 병행하면 일단 사용에 지장 없는 수준까진 맞출 수 있다.(물론 이 문단에 서술된 방법들은, 문제 자체를 해결하는 게 아니므로 우회법이다.)
부가기능 등 몇가지 해결책이 있었으나 퀀텀 버전(56)부터는 엔진이 바뀌면서 전부 지원이 끊겨 버렸다.
about:memory의 Free memory 항목에서 Minimize memory usage 버튼을 눌러도 비슷한 효과를 볼 수 있다.[8] 그러나 이건 1회성 옵션이고 조금만 지나면 다시 사용량이 차오른다. 매번 눌러 줄 게 아니라면 별 의미는 없다.
관련 버그질라

3. 완성형 이외의 한글 표시 문제●


완성형(EUC-KR) 페이지에서 일부 한글이 인터넷 익스플로러와 맞지 않는 경우가 많아서 가끔 난감해지는 경우가 있었다. 파이어폭스에서 입력한 몇몇 문자가 IE에서 공백을 포함한 자모별로 풀어져서 보이는 것이다. 이 문제는 UHC 즉, CP949(또는 MS949)가 표준과도 거리가 있을뿐더러 그냥 마이크로소프트가 만들고 혼자 쓰는 것이라, 윈도우 이외의 호환성이 전혀 고려 안된 포맷이기에 발생하는 문제이다. 문자 인코딩에서의 액티브 엑스라 볼 수 있다. 단 제로보드 구 버전에서는 IE와 파이어폭스 둘 다에서 글자가 풀어져 보이는 문제가 있는데, 이쪽은 한글 채움 문자를 날려버려서 문제가 더 심했다. 한 가지 해결책으로는 글을 쓸 때 미리 페이지 코드 설정을 통합완성형(UHC)으로 하고 글을 쓰면 나중에 잘 보인다. 유니코드를 쓰는 요즘 페이지들은 아무 문제없다. 예전 엔하위키가 오위키 시절일 때도 이런 문제가 있었다. 다만 최근 버전들은 한국어로만 선택이 가능하고 EUC-KR과 UHC를 직접 선택할 수는 없다.
관련 버그질라

4. 하드웨어 가속 사용시 검은화면●


말그대로 하드웨어 가속을 사용하고 몇십분만 서핑하면(유튜브에서 음악 틀어놓고 백그라운드로 돌려도 일어난다.)갑자기 검은화면으로 바뀌는 현상이 최신판에서 보이고 있다.
다만 레이어와 히트박스는 작동하고 아무것도 없는 검은 화면만 출력한다.이 문제가 터지면 다른탭을 만들어도 같은 검은 화면을 보게 된다.하지만 하드웨어 가속을 끄고(물론 파이어폭스 재시작하고) 사용하면 문제가 없는걸 보니 가속에 문제가 있는듯하다.최신버전에서 문제가 있는것으로 보이며 이전버전에 대해서는 전혀 문제가 없는듯하다.
현재 해결방법은 그냥 수정될때까지 하드웨어 가속을 끄는것밖에 없다.
다만 하드웨어 가속을 끄면 웹게임(플래시 기반등등)을 할 때 렉이 걸릴수도 있다.
관련 버그질라

5. 리눅스에서의 하드웨어 가속 미지원


리눅스 한정 문제로 동영상 재생이나 플래시에 하드웨어 가속이 지원되지 않는다. 맥, 윈도우는 모두 하드웨어 가속을 지원하지만 리눅스만은 몇 년째 지원이 되지 않고있다. 플래시야 어차피 HTML5로 대체되고 있으니 그렇다쳐도, 동영상 시청시 하드웨어 가속을 미지원하는건 크나 큰 단점이다. VP9, H.265, AV1같이 자원을 크게먹는 코덱으로 인코딩된 비디오들을 재생할 시 CPU 점유율이 상당히 높아지고 전력도 많이먹는다. 그나마 일반적인 디코더가 아니라 CPU 연산에 최적화된 디코더를 사용한다는게 위안점.
강제로 하드웨어 가속을 하는 방법이 존재하지만, X.org는 지원하지 않으며 Wayland에서만 지원한다.
관련 버그질라

6. 터치 기능 문제●#


다른 브라우저에 비해 터치기능이 매우 떨어져서 윈도우 태블릿으로 사용하기가 괴롭다.
윈도8 시절 크롬과 비슷한 수준인데 스크롤, 줌인/아웃 정도만 겨우 지원한다. 뒤로가기? 좌상단의 아이콘을 눌러 직접 움직이는 수밖에 없다. 좌우로 스와이프 해봐야 마우스를 드래그한것으로 취급된다. 터치로 텍스트 선택하기는 좀 낫겠지만...
줌인 줌아웃은 83버전에 와서야 겨우 제대로 핀치를 통한 줌인 줌 아웃이 지원되게 되었다.
메뉴-사용자 지정에서 '터치 밀도'라는 것을 설정할 수 있지만 이 옵션은 단순히 UI에 여백을 추가해 널찍하게 바꿔 주는 것일 뿐이고 위에도 서술했듯이 파이어폭스 자체가 터치 제스처 자체를 전혀 지원하지 않기 때문에 의미가 없다.
관련 확장기능이 존재는 하지만 파이어폭스 자체 제스처와 충돌하는지 사용성이 썩 좋진 않다. Multi-touch Zoom Tablet Gestures 등.
Firefox Nightly 81.0 버전부터 해당 기능을 활성화하는 flag인 apz.allow_zooming의 기본 값이 false에서 true로 바뀜에 따라, 조만간 부드러운 줌인/줌 아웃이 가능할 것으로 보인다. 실제로 해당 버전 사용 시 다른 브라우저처럼 터치로 스크롤을 할 수 있으며 확대 축소도 매우 부드럽다! 다만 아직까지는 Nightly에서만 기본 값이므로 안정 버전에 언제 적용될지는 미지수. 그나마 Nightly에서도 비활성화할 만큼 버그가 많았던 상황에서 일 보 전진했다는 의의 정도나 둘 수 있을 듯하다.

7. 인쇄 문제


나무위키 등 의 홈페이지에서 인쇄가 제대로 되지 않는 문제가 있다.
관련 버그질라

8. 글꼴 문제★


글꼴이 다른 브라우저에 비해 과도하게 굵게 표시되는 경향을 보인다.
특히 나무위키에서는 일반 글과 볼드체가 구분되지 않는 현상도 발생한다.
일반 '''볼드'''
지금은 구분된다.
[1] 나이틀리 버전이든 베타든 정식이든 Ublock Origin 하나 켜고 유튜브만 틀었을 뿐인데 램 사용량이 600MB에 육박했다. 레딧에서도 램 사용량과 관련된 문의를 심심찮게 볼 수 있다. 참고로 램 사용량을 측정한 컴퓨터의 램은 8GB였다.[사례1] 2018년 2월 3일 기준. 이 당시 파이어폭스는 일반 유튜브 영상을, 크롬은 실시간 스트리밍 영상을 720p로 재생하고 있었다. 사용된 버전은 파이어폭스 58.0.1 64비트, 크롬 63.0.3239.132 64비트.[사례2] 58.0.2 버전에서의 3시간 웹서핑+트위치TV 사용 경과. 무려 '''1.5GB'''를 넘겼다.[사례3] 2018년 3월 31일 윈도우8.1 64비트/ 파이어폭스 버전 59.0.2(64비트) 에서 나무위키 6시간 사용 후 응답없음이 떴을 때의 스크린샷. 59버전에서도 메모리 누수는 여전하다.[2] "Firefox 67 is in the Nightly channel and ships to our stable release on May 14th" "Firefox on Windows will now automatically unload tabs in low memory situations. Tabs are discarded in least recently used order. First to be discarded are regular tabs, then pinned tabs, then tabs playing audio, then pinned tabs playing audio."[3] 일단 스마트 Trim의 기본값은 전체 메모리 사용량이 65% 이상이고 개별 프로세스의 워킹셋이 특정 값 이상이어야 본격적인 Trim을 하는 편이고, 그 이하일 때는 널널하게 동작하여 누수가 좀 있어도 냅두는 편이다.[4] 단 설치 시 기본값 기준이고, 메모리 사용량 기준이나 수행 간격 모두 조절할 수 있으며, 다른 프로그램에도 적용할 수 있다. Chrome에 적용해도 꽤 쓸만하고, 소녀전선의 특정 버전에서 메모리 누수가 심하자 이를 적용하는 사례가 나오기도 했다.[5] 오히려 Process Lasso 측은 자사 기술 설명 페이지에서 공격적인 Trim을 까고 있다.# 스마트 Trim의 기본설정이 널널한 것도 이것 때문.[6] 멀티프로세스 사용을 제한해서 메모리 사용량을 줄이는 것이다.[7] 계속 사용할 탭까지 내려버려서 불편할 경우에는 옵션에서 조절할 수 있다.[8] 참고로 윈도우 API를 이용한 외부 프로그램보다는 효과가 훨씬 떨어지는데, 파폭 자체 기능인 만큼 정말로 누수인 것만 반환하기 때문이다.