Skip to content
isdnetworks
Go back

프리셋 분해로 얻은 속도

이미지 변환이 느려서 설정 튜닝을 검토했다가 개선 폭이 작을 것으로 보고 접었다. 그때 튜닝할 것이 없다고 단정했다.

Table of contents

Open Table of contents

무의미하다고 단정한 근거

그 단정에는 확인하지 않은 부분이 있었다. 인코딩 설정을 프리셋 한 줄로 쓰고 있었고 그 안을 열어 보지 않았다.

한 줄로 보이는 설정이 실제로는 여러 옵션의 조합이었다. 튜닝할 것이 없다는 결론은 그 조합을 안 본 상태에서 나온 것이었다.

한 줄 안의 다섯 옵션

프리셋을 개별 옵션으로 풀어 다섯 개를 하나씩 켜고 끄면서 측정했다. 잰 것은 인코딩 시간과 출력 크기와 화질 지표 셋이었다.

시간만 재면 화질이 떨어져도 알 수 없다. 무손실이라고 말하려면 화질을 함께 재야 하므로 세 축을 같이 잡았다.

무손실 이득과 대체 관계

한 옵션을 끄니 화질 지표가 그대로인데 인코딩 시간이 크게 줄고 파일 크기는 거의 안 늘었다. 화질 손실 없이 얻는 이득이었다.

비슷한 결과를 내는 옵션이 하나 더 있었는데 둘을 함께 꺼도 이득이 배가 되지는 않았다. 같은 처리를 다른 각도에서 끄는 상호 대체 관계라 하나만 끄면 됐다.

용도가 적용 여부를 정한다

세 번째 옵션은 시간이 줄지만 파일이 눈에 띄게 커져서 전송 비용이 늘어나는 맞바꿈이었다. 남은 둘은 바꿔도 개선이 없거나 나빠져서 기본값이 이미 최적이었다.

프리셋은 일반적인 균형을 잡는데 우리 상황의 균형과 다를 수 있다. 여기서는 대상이 작은 썸네일이라 점진적 로딩이 체감에 영향을 안 주므로 같은 옵션이라도 큰 이미지를 다루는 곳과 판단이 달라졌다.

시간과 크기와 품질

결과적으로 다섯 중 하나만 바꾸는 것으로 정리됐다. 기록에는 앞서 튜닝할 것이 없다고 한 단정을 지우지 않고 왜 틀렸는지를 함께 적었다.

지우면 왜 그렇게 생각했는지가 사라지고 같은 실수를 다시 하게 된다. 한 줄로 보이는 설정 안에 무엇이 있는지 보지 않았다는 것이 그 교훈이었다.

정리


Share this post on:

Previous Post
한도에 닿기 전에 정리하는 순서
Next Post
인덱스로 좁히고 나서 훑는다