
1. 코드 경량화 (Code Weight)
UUF (9.5점):
구조: UUF는 oUF 프레임워크를 기반으로 작성되었습니다. oUF는 와우 애드온 커뮤니티에서 "가장 가볍고 효율적인 유닛 프레임 라이브러리"로 통합니다.
코드 특징: 불필요한 기능 없이 딱 필요한 유닛(플레이어, 타겟, 펫 등)만 생성합니다. 코드를 보면 그래픽 리소스 처리(LibSharedMedia) 외에는 외부 의존성이 거의 없습니다.
최적화: 파티/공격대 프레임(Raid Frames)을 아예 구현하지 않았습니다(개발자가 Grid2 등 전문 애드온 사용 권장). 유닛 프레임 애드온에서 가장 리소스를 많이 먹는 부분이 공격대 프레임임을 감안하면, 극도로 가벼울 수밖에 없는 구조입니다.
ElvUI (5.0점):
구조: ElvUI는 유닛 프레임뿐만 아니라 가방, 행동 단축바, 스킨 등 모든 UI를 관장하는 거대 시스템(Suite)입니다.
코드 특징: 유닛 프레임 모듈(ElvUI/Core/Modules/UnitFrames)이 ElvUI라는 거대한 코어 엔진(E) 및 데이터베이스(db)와 강하게 결합되어 있습니다. 설정을 하나 바꾸려 해도 전체 엔진의 로드 과정을 거쳐야 합니다.
최적화: 기능이 너무 방대하여 코드 줄 수 자체가 압도적으로 많습니다. 순수하게 "코드의 가벼움"만 따지면 무거울 수밖에 없습니다.
2. CPU 효율성 (CPU Efficiency)
UUF (9.0점):
이벤트 처리: oUF의 이벤트 핸들링 방식을 그대로 따릅니다. 와우 API가 보내는 이벤트를 직관적으로 받아 처리하므로, 중간 단계(Overhead)가 거의 없습니다.
연산 부하: 전투 중 실시간 연산이 필요한 오라(버프/디버프) 필터링 로직이 단순합니다. 복잡한 블랙리스트/화이트리스트 필터링이 적어 CPU 사이클을 덜 소모합니다.
ElvUI (7.5점):
이벤트 처리: ElvUI는 자체적인 이벤트 시스템을 거칩니다. 최근 개발 빌드에서 오라(Aura) 업데이트 방식을 최적화(배치 처리)하여 성능이 대폭 향상되었으나, 여전히 UUF 같은 단일 목적 애드온보다는 연산 단계가 많습니다.
연산 부하: 사용자가 설정할 수 있는 옵션(글꼴, 크기, 위치, 텍스트 형식 등)이 너무 많아, 프레임을 그릴 때마다 확인해야 하는 조건문(if/else)이 훨씬 많습니다.
3. 프레임워크 구조 (Architecture)
UUF (9.0점):
방식: oUF 레이아웃(Layout) 방식입니다.
장점: oUF가 "공장(Factory)" 역할을 하고 UUF는 "설계도" 역할만 합니다. 즉, 블리자드 API의 복잡한 보안(Secure) 코드 처리를 검증된 oUF 라이브러리에 위임하므로 버그가 적고 구조가 깔끔합니다.
ElvUI (8.0점):
방식: 자체 엔진(Custom Engine) 방식입니다.
장점: 외부 라이브러리 의존 없이 모든 것을 직접 제어하므로, UI 간의 통일성이 완벽합니다. (예: 유닛 프레임의 색상을 바꾸면 캐스팅 바의 색상도 연동됨).
단점: 코드가 방대하여 한 곳의 수정이 다른 곳에 영향을 줄 수 있는 '스파게티 코드'가 될 위험이 항상 존재합니다. 하지만 ElvUI 팀은 유지보수 능력이 매우 뛰어납니다.
깃허브 던져주고 세분화해서 비교해보라니까 이렇게 나옴.
783D 쓰는데 글로벌 30인 레이드는 엘브쓰면 여전히 전투시 30프레임 초반대로 나와서... 쭉 엘브 썼는데(성능 때문에 중간에 포기했다가 돌아오고 반복) 이번엔 UUF 한번 써봐야겠음
관련 지식 가지고 있는 분 계시면 한마디 얹어주십쇼..