의사-벡터 그래픽 지원
Important
최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.
자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.
실제 벡터 그래픽을 지원하지 않는 디바이스는 Unidrv가 의사 그래픽에 제공하는 지원을 활용할 수 있습니다. 이 기능을 사용하는 경우 Unidrv는 단단한 검은색 사각형과 가로 및 세로선을 비벡터 그래픽 장치에 직접 다운로드하여 래스터 표면에서 이러한 그림을 렌더링하는 오버헤드를 줄입니다. 또한 출력 데이터의 크기를 줄여 래스터 데이터를 효율적으로 처리하지 않는 디바이스의 프린터 처리량을 향상시킬 수 있습니다.
이 기능을 활용하려면 비벡터 그래픽 디바이스의 미니 드라이버는 CmdRectBlackFill 명령을 지원하기만 하면 됩니다. 프린터 속성 페이지의 고급 탭에서 인쇄 최적화 기능을 해제하면 이 기능을 사용할 수 없습니다.
의사 그래픽 기능은 DrvBitBlt, DrvStrokePath 및 DrvLineTo에 대한 호출을 가로채 단색 검정 사각형 또는 세로 또는 가로 선을 그릴지 여부를 결정합니다. Unidrv가 그림이 유효한 사각형으로 그려지는 것을 인식할 때(단색 검정이고 복잡한 클리핑이 없고 현재 대상 비트를 사용하여 ROP를 사용하지 않음) 표면에 그려지는 대신 직사각형 배열에 저장됩니다.
의사 그래픽 기능의 가장 어려운 측면은 이전에 그린 개체 위에 그려야 하는 개체로 인한 z 순서 문제를 방지하는 것입니다. 맨 위에 있는 개체는 검은색 사각형의 일부를 지우거나 덮어써야 할 수 있습니다. 검은색 사각형이 이미 디바이스에 다운로드된 경우 나중에 시스템 화면에서 그린 개체가 올바르게 그려지지 않을 수 있습니다.
이 문제에 대한 해결 방법은 표면에 즉시 그리는 대신 유효한 사각형을 일시적으로 저장하는 것입니다. 표면에 새 개체를 그릴 때 Unidrv는 개체가 검은색 사각형과 겹치는지 여부를 확인합니다. 이 경우 새 개체를 그리기 전에 먼저 검은색 사각형의 겹치는 부분이 그려지므로 올바른 z 순서를 유지합니다. 직사각형을 먼저 그리면 대상과 상호 작용하는 개체를 포함하여 그릴 새 개체에 ROP가 연결될 수 있는 가능성도 고려됩니다.
또한 그릴 새 개체에 복잡한 클리핑이 포함되어 결과 그림이 더 이상 사각형이 아닐 수 있습니다. 밴드 또는 페이지 렌더링이 완료되면 z-order 문제를 일으키지 않고 나머지 검은색 사각형을 디바이스에 직접 다운로드할 수 있습니다. Unidrv는 대역당 최대 256개의 사각형 목록을 유지 관리하여 가능한 경우 BitBlt 사각형을 연결합니다.
의사 그래픽 문제
의사 그래픽 기능은 특정 상황에서 z 순서를 변경할 수 있습니다. 특히 텍스트가 디바이스에 직접 다운로드되고 복잡한 클리핑이 있는 후속 개체가 해당 텍스트와 상호 작용해야 하는 경우