오랜 시간 개발자들의 사랑을 받아온 텍스트 편집기 GNU 이맥스(Emacs)에 획기적인 그래픽 기능인 '캔버스(Canvas)'가 코어에 병합됩니다. 약 8개월간의 개발을 거쳐 이맥스 32 릴리스부터 정식으로 포함될 이 기능은, 기존처럼 이미지 데이터를 문자열로 전달하는 대신 픽셀 버퍼를 직접 조작할 수 있게 해 이맥스 내에서 고성능 그래픽 애플리케이션을 구현할 수 있는 길을 엽니다.
캔버스 기능은 기존 이맥스 이미지 API와 완벽하게 호환되는 새로운 이미지 유형으로, 이맥스 리스프(Lisp)에서는 이미지 객체로, 동적 모듈에서는 ARGB32 픽셀 버퍼에 저수준으로 접근할 수 있습니다. 특히 'canvas-refresh' 기능을 통해 전체 화면을 다시 그리지 않고도 특정 캔버스 영역만 갱신할 수 있어, 25~60FPS의 부드러운 애니메이션과 영상 재생이 가능합니다. 실제 데모에서는 이맥스 리스프만으로 튀는 공과 이중 진자를 구현하고, C 동적 모듈과 결합해 마우스로 회전하는 3D 점 격자를 초당 60회 렌더링하는 등 뛰어난 성능을 보여주었습니다. 이는 기존 이미지 처리 방식의 제약, 즉 이미지 데이터를 문자열로 전달하는 높은 비용과 저수준 접근의 부재, 복잡한 그래픽 갱신 시 발생하는 병목 현상을 해결합니다.
이 캔버스 기능의 통합은 이맥스 생태계에 새로운 가능성을 제시합니다. 문서 리더, 비디오 플레이어, 그리기 도구, 게임 프레임워크, 과학 시각화, LaTeX 렌더링, 이미지·비디오 편집기 등 다양한 그래픽 애플리케이션을 이맥스 안에서 직접 구축할 수 있는 기반이 마련된 것입니다. 이는 이맥스가 단순한 텍스트 편집기를 넘어, 더욱 풍부하고 인터랙티브한 컴퓨팅 환경으로 진화할 수 있음을 의미하며, 사용자들에게는 이맥스 내에서 더 많은 작업을 수행할 수 있는 편리함을 제공할 것으로 기대됩니다.