새로운 웹 오디오 API를 사용하여 html5 오디오 앱을 제작하고 있는데, 내가 필요한 것은 대부분의 음악에서 사용되는 노트를 그릴 수있는 키보드 그리드 인 "피아노 롤"입니다. 프로덕션 소프트웨어를 만들려면이 두 가지 방법을 생각하고있었습니다. html/javascript로 대용량 피아노 연주하기
- 우리가 HTML 요소로 작업과 이벤트 및 방법을 사용할 수 있기 때문에
- PRO 참고 조작이 용이 노트를 그리는 세포 내부에 태그를 큰 HTML 테이블을 생성하고 생성합니다.
- CON 거대한 테이블을 사용하는 몇 가지 프로젝트를 수행했고 많은 경험을 가진 브라우저는 많은 요소로 작업 할 때 속도가 느려지는 경향이 있습니다.
- 그리드를 렌더링하기 위해 캔버스를 만들고 수 있도록 더 많은 노력을 필요로 일부 스마트 캐싱
- CON으로 거대한 테이블에 비교하면
- PRO 렌더링하기 위해 빠를 수 노트 메모 조작 작업.
- cont 여전히 큰 이미지를 스크롤합니다.
나는 오디오의 렌더링이 느린 응답 인터페이스에 의해 영향을 안하기 때문에, 사용자가 어떤 고장없이 피아노 롤 내에서 스크롤 할 수 있어야한다 대부분의 자원 친화적 인 방법을 사용합니다.
뷰포트의 크기로 캔버스를 만들 수 있고 사용자가 스크롤 할 때 렌더링 할 수 있지만 더 빨라지는지, 작은 캔버스가 더 많이 렌더링되는지는 잘 모르겠지만 더 많이 렌더링해야합니다. 테이블에 대해 고정 셀을 사용할 수 있는데, 노트를 표시해야 할 때 (addChild, innerHTML) 표시해야하지만 그리드 크기 만 스크롤 할 수 있기 때문에 원활한 스크롤링이되지 않습니다 (실제로 큰 문제는 아님). 그것은 충분히 빠름) 정적 테이블보다 더 많은 재 렌더링이 필요합니다.
내가 간과 한 것이 있으며 어떤 솔루션이 가장 리소스 친화적입니까?
벡터 그래픽은 항상 세 번째 옵션입니다 (http://raphaeljs.com/은 정말 좋습니다). 또한 HTML을 사용하는 방법이 있지만 표가없는 경우는 있을까요? 배경 이미지가있는 컨테이너의 선상에 뭔가가 있고 왼쪽 및 위쪽 CSS 스타일이있는 태그가 있습니다. – abesto