2009-05-11 4 views
5

일부스럽지 않은 페인트 새로 고침 문제 (예 : 유물 등)가있는 Swing 응용 프로그램 (현재 Java 1.6 업데이트 11에서 실행 중)에서 작업하고 있습니다. 이는 애플리케이션의 일부 사용자에게만 발생하지만 다른 사용자에게는 발생하지 않습니다.Java Swing App에서 페인팅 할 때 문제가 발생했습니다.

몇 가지 조사를 한 후 sun.java2d.d3dfalse으로 설정하면 실제로 사용자 중 한 명이 도움이된다는 사실을 발견했습니다.

다른 사용자가이 문제에 대해 불평하고 있으므로 모든 사용자에 대해 속성을 false (으)로 설정하려고합니다. 정확히 이것의 원인은 무엇

:

내 기본적인 질문은 다음과 같습니다? 비디오 카드입니까? 운전자입니까? 그것은 Sun의 버그입니까? (예 : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6635462) 세 가지 모두의 조합?

즉,이 속성을 끄거나 최신 드라이버를 업데이트 한 특정 비디오 카드에만 영향을 미칩니 까?

+0

이 문제는 VMWare에서 Java를 실행할 때 자주 발생합니다. – user3553031

답변

2

R6 업데이트 10에 도입 된 Java는 Direct3D를 기반으로 그래픽을 렌더링하는 파이프 라인입니다. 릴리스 설명 here에 따르면이 카드는 NVidia 및 ATI 카드 만 지원하므로이 카드를 사용하지 않는 사람은 아무런 문제가 없을 수 있습니다. 최근의 혁신이기 때문에 그 카드에 오래된 드라이버를 사용하는 사람도 문제가있을 수 있음을 제안합니다. 비디오 드라이버를 업그레이드하면 첫 번째 경우는 해결되지만 마지막 단계는 수정되지 않습니다.

sun.java2d.d3d를 false로 설정하면 최악의 상황은 일부 사용자가 이론적으로 할 수있는 성능을 달성하지 못한다는 것입니다. 현재보고있는 문제보다 이것이 바람직한 지 여부를 균형있게 조정해야합니다.

+0

처음 문제가 발생한 사용자에게는 ATI Radeon XPress 200이 있었지만 최신 드라이버를 가지고 있는지 확인하지 않았습니다. 응용 프로그램은 꽤 "표준"스윙 응용 프로그램입니다. 즉, 3D 작업이 없거나 "일반"페인트 작업이 아닙니다. – Avrom

+0

지원되지 않는 비디오 카드는 자동으로 꺼질 것이라고 생각할 수 있습니다. – Avrom

1

모든 페인팅 및 모델 변경 작업이 EDT에서 실행됩니까 (예 : TableModel 변경 등)?

관련 문제