2012-03-13 3 views
3

HTML5 캔버스의 drawImage 문제 내가 개발하고 있어요 프로그램에 문제가있어 Windows 7에서하지만 파이어 폭스

은하 뷰어는 6 개 개의 층에 별을 그립니다 (당신은 www.energematrice6.com/gview2에서 그것을 볼 수 있습니다). 뒤 레이어는 잘 작동합니다 (간단한 스트로크 명령 사용). 상위 3 개 레이어는 drawImage() 기능을 사용하여 저장된 이미지를 가져 와서 (starGradDraw 및 starGradDraw2 함수를 사용하여) 캔바스에 그립니다.

이 이미지는 프로그램이 처음 실행되어 객체 변수 (기본적으로 버퍼 만)에 저장 될 때 다른 함수에 의해 만들어졌습니다.

모든 것이 제 가정의 컴퓨터, 노트북, 아내의 컴퓨터 및 모든 다른 컴퓨터에서 올바르게 작동합니다 (또는 친구가 테스트 해본 결과).

직장용 컴퓨터 (가정에서 사용하는 것과 같은 버전)에서 Firefox 10.0.2에서 열려고하면 처음 세 개의 별표가 비어 있습니다. 내가 생각할 수있는 유일한 차이점은 내 가정용 컴퓨터에서 64 비트 운영 체제 또는 특히 Windows 7을 사용하지 않는다는 것입니다.

다른 모든 프로그램에서 제대로 작동하는 것으로 보이며 방화 광이 오류를 표시하지 않습니다. 그것은 단지 이미지를 그리지 않는 것입니다 (또는 프로그램을 멈추는 것). 나는 정말로 다음에 무엇을 시도해야할지 모르겠습니다.

아이디어가 있으십니까?

은 (만약 당신이 좋아하면, 나는 몇 가지 코드를 붙여 넣을 수 있지만,이 프로그램은 이상 만 라인 긴 나는 문제가에 올 수있는 곳 또는이 컴퓨터에서만 오류 수 있는지 모르겠어요.)

+0

그래픽 드라이버를 처음부터 업데이트 해보십시오. 이것은 프로그래밍 문제와 같지 않지만 런타임 환경 (드라이버, 브라우저 등)처럼 들립니다. – Blindy

+0

크롬에있는 64 비트 Win7에서 제대로 작동합니다. – Blindy

+0

맞을 수 있습니다. 나는 베테랑 프로그래머가 아니기 때문에 모든 것이 내 잘못이라고 익숙하다. (그리고 네, 저는이 기계에 크롬을 설치하여 확인했습니다. 거기에서 잘 작동했습니다.) Win7 64-bit에 속한 사람이라면 FF로 나를 테스트 할 수 있다면 정말 고맙겠습니다. (Blindy에게 감사드립니다.) – Brightstar

답변

5

방대한 양의 연구와 버그 잡기가 끝난 후이 문제는 Firefox 자체의 버그라는 것을 발견했습니다.

2-D 그래픽 하드웨어 가속을 사용하는 현재 버전에서 Firefox는 버퍼 캔버스에 직접 그릴 때 (방사형 화면 만) 방사형 그래디언트를 올바르게 저장하지 않습니다.

하드웨어 가속 기능을 끄면 브라우저가 명령을 올바르게 처리 할 수 ​​있습니다.

버그 신고가 접수되었으며 문제가 해결 될 예정입니다.

+0

파이어 폭스에서 비슷한 문제가 발생하는 사람들에게 일반 오래된'Image'를 사용하는'drawImage' 호출은 하드웨어 가속으로 렌더링되지 않는다는 것을 알았습니다. 각 프레임에서 렌더링 될 좌표가 경과 시간에 상대적으로 변경되면 그와 관련이있을 수 있습니다. 하드웨어 가속을 끄고 다시 시작하면 Firefox가 다시 시작됩니다. – Grimeh