2014.05.15 05:05
꿀뷰3때 당시에도 한번 말씀드렸던걸로 기억하는데, 1/100 sec 단위가 (해당 포맷에선)기술적으로는 표준이지만,
90년대 당시 기술이나 하드웨어 성능상 모자이크/IE가 1/10sec 단위로 낮춰서 재생한게 점유율상 실질적인 표준이 됬고 그 꿀뷰3 당시에는 그렇게 작동하는쪽이 옳았지만,
10년전 이라면 모를까 지금으로서는 모든 브라우져가 AGIF나 APNG 렌더링시 1/100sec 단위까지 정상적으로 재생하고 있고 또 오히려 새로 만들어지고 있는 수많은 애니메이션GIF 소스들은 (웹브라우져들이 그렇게 하니까) 1/100sec 단위 재생 속도 기준으로 만들어지고 있습니다.
굳이 이 부분을 사용자들 얘기 있을때마다 수정하시는 것보다는, 아주 오래전에 만들어진 애니메이션 GIF파일은 그당시 기준의 정상속도인 1/10 sec 단위로, 요즘 만들어진 AGIF나 APNG, MNG등은 1/100sec 단위로 재생할수 있도록 그저 옵션에 체크박스 하나 추가하거나 토글키를 두는게 괜히 번잡해지는것보단 한번 손대고 끝나니까 더 낫지 않을까요?
실상 1/10 단위를 원하시는분들은 1/10기준 그림파일들이 대부분이라 옵션을 한번 지정해두면 바꿀일이 없고, 1/100 단위로 보실분들도 마찬가지로 1/100 파일들이 대부분이라 굳이 번거로우시게 토글까지 추가하실 필요는 없을것 같고, 그저 옵션 체크박스 항목에 괄호 참고사항으로
(구IE 기준 Frame per 0.1/s 재생속도 | 애니메이션 그림 포맷상 기준/최대 지원 Frame per 0.01/s 재생속도)
와 같은식으로 적어주시는 편이 나을거 같네요.
그리고 또 하나, 이건 재생속도와는 별개 문제인데, 일반적으로는 AGIF 파일크기를 줄이기 위해, 파렛트 줄이는것 외에도 중복되는 픽셀 부분들은 한번 렌더링한뒤 변경없는 프레임까지 화면에 갱신없이 남겨두고 실제 프레임에는 반투명(NULL)로 기록하는 방식으로도 줄이기도 하는데, 대부분의 현존하는 웹브라우져들은 다들 정상없이 랜더링하지만 ACDSee와 같은 특정 뷰어들같은 경우는 제대로 출력하지 못하는 문제도 있더라구요.
그래서 혹시 모르니 변경사항 있을때 그런부분도 테스트 소스 몇개 따다가 확인해보시면 좋을거 같습니다.
네, 원래 꿀뷰는 AGIF 에 대해서 1/100 초 까지 GIF 파일 내에 기술된 대로 재생을 하고 있었습니다만,
http://humpy77.deviantart.com/journal/Frame-Delay-Times-for-Animated-GIFs-240992090
를 참고로 최신 버전의 브라우저(IE 11, CHROME 34, FF 28)를 조사를 해 본 결과, 전부 다
0 -> 0.1
1 -> 0.1
2 -> 0.02
3 -> 0.03
....
과 같이 처리를 하고 있는걸 확인하였고, 이미 이렇게 처리하는것이 de facto 인듯 하여, 꿀뷰도 동일하게 처리하도록 수정하였습니다.
물론, 향후 지원하게 될 다른 애니메이션 포맷에 대해서는 내부에 기술된 정보대로 재생하도록 기능을 추가할 예정입니다.
관심 가져 주셔서 감사합니다. ^^
PS) AGIF 의 경우, 말씀하신것처럼 이전 프레임을 참고해서 용량을 줄이는 다양한 기법을 사용하는데(disposal method)
꿀뷰의 경우는 이런 경우에 대해서 전부 제대로 처리하도록 구현이 되어 있습니다. 혹시 제대로 표시되지 않는 GIF 파일이 있다면 메일로 보내주시면
바로 수정을 하도록 하겠습니다.