이미지 변환이 느려서 설정 튜닝을 검토했다가 개선 폭이 작을 것으로 보고 접었다. 그때 튜닝할 것이 없다고 단정했다.
Table of contents
Open Table of contents
무의미하다고 단정한 근거
그 단정에는 확인하지 않은 부분이 있었다. 인코딩 설정을 프리셋 한 줄로 쓰고 있었고 그 안을 열어 보지 않았다.
한 줄로 보이는 설정이 실제로는 여러 옵션의 조합이었다. 튜닝할 것이 없다는 결론은 그 조합을 안 본 상태에서 나온 것이었다.
한 줄 안의 다섯 옵션
프리셋을 개별 옵션으로 풀어 다섯 개를 하나씩 켜고 끄면서 측정했다. 잰 것은 인코딩 시간과 출력 크기와 화질 지표 셋이었다.
시간만 재면 화질이 떨어져도 알 수 없다. 무손실이라고 말하려면 화질을 함께 재야 하므로 세 축을 같이 잡았다.
무손실 이득과 대체 관계
한 옵션을 끄니 화질 지표가 그대로인데 인코딩 시간이 크게 줄고 파일 크기는 거의 안 늘었다. 화질 손실 없이 얻는 이득이었다.
비슷한 결과를 내는 옵션이 하나 더 있었는데 둘을 함께 꺼도 이득이 배가 되지는 않았다. 같은 처리를 다른 각도에서 끄는 상호 대체 관계라 하나만 끄면 됐다.
용도가 적용 여부를 정한다
세 번째 옵션은 시간이 줄지만 파일이 눈에 띄게 커져서 전송 비용이 늘어나는 맞바꿈이었다. 남은 둘은 바꿔도 개선이 없거나 나빠져서 기본값이 이미 최적이었다.
프리셋은 일반적인 균형을 잡는데 우리 상황의 균형과 다를 수 있다. 여기서는 대상이 작은 썸네일이라 점진적 로딩이 체감에 영향을 안 주므로 같은 옵션이라도 큰 이미지를 다루는 곳과 판단이 달라졌다.
시간과 크기와 품질
결과적으로 다섯 중 하나만 바꾸는 것으로 정리됐다. 기록에는 앞서 튜닝할 것이 없다고 한 단정을 지우지 않고 왜 틀렸는지를 함께 적었다.
지우면 왜 그렇게 생각했는지가 사라지고 같은 실수를 다시 하게 된다. 한 줄로 보이는 설정 안에 무엇이 있는지 보지 않았다는 것이 그 교훈이었다.
정리
- 프리셋 한 줄이 여러 옵션의 조합일 수 있다
- 내부를 안 보고 튜닝할 것이 없다고 단정하지 않는다
- 옵션을 개별로 분해해 측정한다
- 시간과 크기와 품질을 함께 재야 무손실이라고 말할 수 있다
- 화질 손실 없이 얻는 이득이 있을 수 있다
- 두 옵션이 상호 대체적이면 이득이 중복되지 않는다
- 어떤 것은 맞바꿈이므로 다른 비용과 함께 본다
- 프리셋의 균형과 우리 용도의 균형은 다를 수 있다