Gp 렌더링 OpenGL NVIDIA 제어판. 품질 저하 없이 최대 성능을 위해 NVidia 비디오 카드용 드라이버의 "전역 매개변수" 설정. 실시간 렌더링이란?

Adobe After Effects 합성 프로그램의 GPU 가속 유형에 대한 간략한 개요. 이전에는 동일한 유형의 기사(Ray-traced 3D 렌더러 및 OptiX 3 엔진 테스트, 표준 OpenGL을 사용하여 AMD 및 nVidia의 비디오 카드 테스트)를 읽을 수 있었습니다. 카툰 효과, Adobe After Effects CC 및 통합 그래픽 Intel HD Graphics 4000, 광선 추적형 3D 렌더러 및 OptiX 3, Video Copilot Element 3D 및 OpenGL 플러그인, 비디오 카드 성능, 비디오 카드의 GPU 오버클러킹 및 비디오 메모리가 성능에 미치는 영향 , Adobe After Effects에서 다양한 유형의 GPU 가속 사용.
OpenGL은 다양한 응용 프로그램에 대해 그래픽 처리 장치(그래픽 처리 장치)를 사용하여 고성능 2D 및 3D 그래픽 처리를 위한 표준 집합입니다. OpenGL은 미리 보기를 위한 빠른 렌더링을 제공합니다(빠른 초안 모드). After Effects는 일부 인터페이스 요소와 광선 추적형 3D 렌더링에 대한 가속 기능도 제공합니다. 이전 버전의 After Effects와 달리 GPU는 중요한 역할을 합니다.
OpenGL은 더 빠른 그래픽 파이프라인으로 작업 흐름 속도를 높입니다. 이전 버전의 After Effects에서 더 느린 프로세스 중 하나는 블록 전송 또는 블리칭이라고 불리는 픽셀을 화면으로 전송하는 프로세스였습니다. 이제 GPU는 OpenGL 교체 버퍼라는 프로세스 덕분에 이 작업을 훨씬 더 효율적으로 처리합니다.
OpenGL은 컴포지션, 푸티지, 레이어 패널과 같은 인터페이스 요소의 렌더링을 지원합니다. OpenGL은 또한 격자, 안내선, 눈금자 및 경계 상자와 같은 다른 렌더링 기능을 제어합니다. 이 기능은 "하드웨어 BlitPipe"라고도 합니다.
UI 요소 렌더링을 위한 OpenGL 지원을 활성화하려면 편집 > 환경 설정 > 디스플레이(Windows) 또는 After Effects > 환경 설정 > 디스플레이(Mac OS)에서 하드웨어 가속 컴포지션, 레이어 및 푸티지 패널 확인란을 선택합니다.
GPU 및 OpenGL 정보는 GPU 정보 대화 상자에서 얻을 수 있습니다. 이 대화 상자를 열려면 편집 > 환경 설정 > 미리 보기 / 편집 > 환경 설정 > 미리 보기(Windows) 또는 After Effects > 환경 설정 > 미리 보기 / After Effects > 환경 설정 > 미리 보기(Mac OS)를 선택합니다.

미리보기">

GPU 정보 버튼을 클릭하면 GPU 정보가 포함된 대화 상자가 열립니다. 이 대화 상자는 설치된 GPU의 OpenGL 기능에 대한 정보를 제공합니다. 이 정보는 GPU의 기능 지원 수준을 결정하는 데 도움이 됩니다. 또한 이 창에서는 GPU에서 CUDA 기능을 사용할 수 있는지 여부와 설치된 기능의 버전을 확인할 수 있습니다.


*참고: 이전 OpenGL 렌더러가 제거되었기 때문에 환경 설정 > 미리 보기 메뉴에서 OpenGL 관련 확인란이 제거되었습니다.
원래 OpenGL 렌더러는 Quick Draft 모드로 대체되었습니다. 빠른 초안을 활성화하려면 컴포지션 패널에서 빠른 미리 보기 버튼을 클릭하고 빠른 초안을 선택하세요. 빠른 초안 모드에서는 컴포지션 패널에 미묘한 시각적 변화가 발생하여 빠른 미리 보기가 더욱 편리해집니다. 빠른 초안은 나중에 광선 추적형 3D 렌더링을 위한 구성을 설정하고 미리 보는 데 유용합니다.

*참고: 기존 GPU가 지원되지 않거나 이전 드라이버가 설치된 경우 광선 추적형 3D 렌더링은 모든 물리적 코어를 사용하여 CPU에서 수행됩니다. 콘솔 환경(예: 렌더 팜)에서 GPU를 지원하는 구성이 있는 경우 GPU 정보 대화 상자에서 광선 추적 옵션을 설정하여 CPU에서 광선 추적형 3D 렌더링을 수행할 수 있습니다. CPU가 수행한 렌더링은 GPU가 수행한 렌더링과 일치합니다.
*참고: OpenGL 정보 버튼은 이제 GPU 정보 버튼으로 변경되었습니다.
OpenGL, GPU 및 After Effects의 하드웨어 요구 사항. 광선 추적형 3D 렌더링 컴포지션으로 작업할 때는 컴퓨터에 적절한 하드웨어를 설치하는 것이 중요합니다. GPU 가속을 사용한 광선 추적형 3D 렌더링에는 CUDA 기술이 내장된 NVIDIA 그래픽 카드가 필요합니다.
GPU/OpenGL 기능 요구 사항(광선 추적형 3D 렌더링 및 빠른 초안). 다음은 GPU 성능에 따라 기능을 분류해야 하는 GPU 기반 및 OpenGL 기반 After Effects 기능입니다.
- 레이 트레이싱이 포함된 3D 렌더링 모듈.
- GPU를 이용한 렌더링.
- "빠른 초안" 미리보기 모드.
- 화면에 빠르게 블리칭(OpenGL SwapBuffer).
- 애니메이션 효과를 위한 "가능하면 OpenGL 사용" 옵션을 선택하세요.
- “하드웨어 가속 구성, 레이어 및 푸티지 패널” 설치.
기능 지원 수준. 지원에는 최소 요구 사항이 있는 수준부터 최대 요구 사항이 있는 수준까지 3가지 클래스 또는 수준이 있습니다.
레벨 1. OpenGL SwapBuffer의 경우: 이 레벨에는 셰이딩 모델 3.0(또는 그 이상)과 함께 OpenGL 1.5(또는 그 이상)을 지원하는 GPU가 필요합니다. 대부분의 ATI 및 NVIDIA 그래픽 카드와 Intel HD Graphics 3000(MacBook Air, Mac Mini, 다양한 Windows 컴퓨터 등에서 사용 가능) 및 4000(Windows 전용) 칩셋을 지원합니다. GPU가 이러한 요구 사항을 충족하지 않으면 5.5와 같은 OS 소프트웨어를 사용하여 블리팅이 발생합니다. After Effects CS 이상 버전에서는 소프트웨어를 사용하여 블리팅 향상 기능이 제공됩니다.
2 단계. Quick Draft Preview, 하드웨어 BlitPipe 및 GPU 애니메이션 가속의 경우: 레벨 1 기능을 활성화합니다. 이 레벨에는 OpenGL 2.0 이상(Windows의 경우 Shader Model 4.0 이상), 256MB 이상의 텍스처 메모리가 필요합니다. 지난 5년 동안 출시된 대부분의 ATI 및 NVIDIA 비디오 카드와 Intel HD Graphics 3000/4000 칩셋은 이 수준을 지원합니다. GPU가 이러한 요구 사항을 충족하지 않으면 다음 기능이 비활성화됩니다.
- 빠른 초안 모드.
- "컴포지션, 레이어 및 푸티지 패널의 하드웨어 가속" 설정.
- 애니메이션 효과(CPU에 대한 애니메이션 효과)에 대한 "가능하면 OpenGL 사용" 옵션을 선택합니다.
레벨 3. GPU의 광선 추적형 3D 렌더링: 레벨 1 및 레벨 2 기능을 포함합니다(모니터가 연결된 컴퓨터의 경우). 이 레벨에는 지원되는 NVIDIA GPU와 512MB 이상의 텍스처 메모리가 필요합니다. 현재 지원되는 GPU 목록은 여기에서 확인할 수 있습니다.
https://helpx.adobe.com/ru/after- Effects/system-requirements.html
GPU 드라이버 설치. After Effects 및 CUDA 기능을 사용하기 전에 NVIDIA GPU용 최신 비디오 드라이버를 설치하십시오.
Windows: GPU용 최신 WHQL 인증 드라이버를 설치합니다.
http://www.nvidia.ru/Download/index.aspx?lang=ru
Mac OS: NVIDIA CUDA 드라이버(버전 4.0.50 이상)를 설치합니다.
http://www.nvidia.ru/object/mac-driver-archive-ru.html
*참고: 기존 GPU가 지원되지 않거나 이전 드라이버가 설치된 경우 광선 추적형 3D 렌더링은 모든 물리적 코어를 사용하여 CPU에서 수행됩니다. 콘솔 환경(예: 렌더 팜)에서 GPU를 지원하는 구성이 있는 경우 GPU 정보 대화 상자(미리 보기 설정)에서 광선 추적 옵션을 설정하여 CPU를 사용하여 광선 추적 컴포지션을 3D 렌더링할 수 있습니다. . CPU가 수행한 렌더링은 GPU가 수행한 렌더링과 일치합니다.
After Effects의 다양한 모드에서 비디오 카드를 테스트한 결과에 대해 설명합니다.

안녕하세요, 친애하는 친구 여러분. 다음 게시물에서는 그래픽 프로세서, V-Ray RT를 사용한 시각화 및 다중 GPU 시스템의 컴퓨팅 리소스 배포에 대한 주제를 다시 다룰 것입니다. 오랫동안 아시다시피 GPU는 Autodesk 3ds Max, Autodesk Maya, SideFX Houdini 등과 같은 대규모 패키지를 통해 우리 작업에 더 깊이 들어가고 있으며 하드웨어 렌더링뿐만 아니라 일반 렌더링 속도도 높이기 위해 GPU를 사용하고 있습니다. 목적 컴퓨팅. 예를 들어 OpenSubdiv를 사용한 지오메트리 테셀레이션이나 동적 효과 계산, 사실적인 렌더링 프로세스 등이 있습니다.
여러 개의 그래픽 가속기를 설치하는 것이 이러한 작업에 유용하고 그래픽 가속기 간에 부하를 분산시킬 수 있다는 것은 놀라운 일이 아닙니다. 내 자료에는 두 개의 그래픽 가속기가 있는 워크스테이션을 사용한다는 내용이 이미 두 번 이상 작성되어 있습니다. 이는 두 GPU 간에 계산을 분산하고 한 GPU에서 한 작업을 수행하고 다른 GPU에서 다른 작업을 수행하기 위해 수행됩니다.
기본적으로 Autodesk Maya 2015는 뷰포트에 가상 공간을 렌더링합니다. 이는 텍스처를 표시하고 주변 폐색, 조명 및 그림자, 하드웨어 앤티앨리어싱과 같은 효과를 사용하려는 경우에 유용합니다. 이 경우 GPU가 여러 개인 경우 Maya는 GPU 간에 로드를 분산하고 두 GPU를 모두 사용하여 렌더링하려고 시도합니다.

뷰포트에서 탐색하는 동안 두 개의 GPU에 대한 계산 부하의 예입니다.
그러나 이러한 분산과 가상 공간 표시만을 위한 그래픽 가속기의 밀집된 사용은 V-Ray RT GPU와 같은 범용 계산을 동시에 실행하는 동시에 시스템 성능을 저하시킬 수 있습니다. 그리고 V-Ray RT 자체만 설정하고 계산에 사용할 GPU를 정의하는 것은 이 문제를 해결하는 데 도움이 되지 않습니다. 추가 GPU 드라이버 구성이 필요할 수 있습니다. 이에 대해서는 이 게시물의 뒷부분에서 이야기하겠습니다.

GPU 및 V-Ray RT 렌더링이 올바르게 구성되지 않은 경우 심각한 시스템 성능 저하 및 느린 가상 공간 렌더링의 예입니다.

물론 가장 먼저 해야 할 일은 여러 GPU 중 V-Ray RT 계산에 참여할 GPU를 결정하는 것입니다. 이는 V-Ray for Maya와 함께 제공되는 특수 유틸리티를 사용하여 수행할 수 있습니다. 유틸리티 이름이 지정되었습니다. V-Ray RT GPU용 OpenCL 장치 선택. 나는 V-Ray RT GPU에 관한 이전 게시물과 비디오에서 이 유틸리티에 대해 글을 쓰고 이야기했습니다.


유틸리티 V-Ray RT GPU용 OpenCL 장치를 선택합니다.
또한 실제로 V-Ray RT GPU용 OpenCL 장치 선택 유틸리티에 의해 변경되는 환경 변수를 수동으로 정의할 수 있습니다.


V-Ray RT GPU가 사용할 GPU를 결정하는 매개변수가 포함된 환경 변수 VRAY_OPENCL_PLATFORMS_x64.
그래서 V-Ray RT GPU의 경우 기본적으로 두 번째 그래픽 가속기를 선택했는데, 이는 모니터에 이미지 출력을 담당하지 않습니다. 일반적으로 NVIDIA Quadro K4000입니다. 이 GPU는 매우 강력하며 내 작업에 충분한 메모리를 가지고 있습니다. 게시물 시작 부분의 영상에서 볼 수 있듯이 V-Ray RT를 계산하고 동시에 가상 공간을 탐색하는 동안 Maya가 엄청나게 느려지기 시작하면서 심각한 문제에 직면했습니다.
그러나 NVIDIA Quadro 그래픽 가속기의 장점은 상당히 안정적이고 잘 구성 가능한 드라이버입니다. Maya는 본질적으로 OpenGL API에 완벽하게 적용되고 드라이버 구성에는 3D 애플리케이션에 필요한 모든 것이 포함되어 있으므로 원하는 애플리케이션에 맞게 쉽게 구성할 수 있습니다.


전역 설정 탭이 열려 있는 NVIDIA Quadro 드라이버의 3D 설정 관리 페이지입니다.
가장 먼저 해야 할 일은 오픈이다. 엔비디아 제어판(NVIDIA 제어판)으로 이동합니다. 3D 설정 관리(3D 설정 관리). 탭에서 전역 설정(전역 매개변수), 원하는 전역 매개변수 프로필 선택 - 드롭다운 목록 글로벌 프리셋(글로벌 사전 설정). 기본 프로필은 모든 애플리케이션에 적용할 수 있는 균형 잡힌 설정을 사용하기 때문에 기본 프로필을 사용합니다.
시스템에 설치된 GPU 중 OpenGL을 사용하여 가상 공간을 렌더링하는 데 사용할 GPU를 결정하기 위해. 이는 매개변수를 사용하여 수행할 수 있습니다. OpenGL 렌더링 GPU(OpenGL 렌더링 GPU). 내 예에서는 NVIDIA Quadro K2000 및 NVIDIA Quadro K4000 GPU가 사용되었으며 K2000은 두 개의 디스플레이에 이미지를 표시하고 가상 프로젝션 창을 렌더링하는 데 사용되었습니다. 그리고 위에서 언급했듯이 계산에는 K4000 모델이 사용됩니다. 따라서 이 특성을 위해 NVIDIA Quadro K2000 GPU를 선택하기로 결정되었습니다.


3D 설정 페이지 및 프로그램 설정 탭을 관리합니다.
가상 공간을 렌더링하기 위해 그래픽 가속기를 선택한 후에는 이것이 Maya 응용 프로그램의 개별 설정에 어떤 영향을 미치는지 확인해야 합니다. 이 작업은 탭에서 수행할 수 있습니다. 프로그램 설정(프로그램 설정) 드롭다운 목록에서 선택 사용자 정의할 프로그램을 선택하세요(구성할 프로그램 선택) 프로필 Autodesk Maya 스테레오 .
이 프로필의 매개변수에서 OpenGL 렌더링 GPU 매개변수가 선택한 그래픽 가속기에 할당되어 있는지 확인하세요.
계산을 수행할 GPU에서 최대한 많은 메모리를 확보하려면 매개변수를 변경할 수도 있습니다. 희소 텍스처 성능을 위해 최적화(희소 텍스처 작업에 최적화) 가상 공간 렌더링을 담당하는 GPU도 할당합니다.
드라이버 설정을 모두 조작한 결과 Maya를 다시 시작하면 작업을 시작할 수 있습니다. 위에서 설명한 작업의 결과는 아래 비디오에서 볼 수 있습니다.

모든 변경 후 가상 공간 탐색 및 V-Ray RT GPU 렌더링 성능.

보시다시피 모든 것이 매우 간단하며 다양한 응용 프로그램 및 해당 기능과 함께 작동하도록 다중 GPU 시스템을 쉽게 구성할 수 있습니다. 물론, 시스템이 3개 또는 심지어 4개의 그래픽 가속기를 사용하는 경우 이를 통해 응용 프로그램 간의 리소스를 더욱 세밀하게 구성하고 배포할 수 있습니다.

번역합니다... 번역 중국어(간체) 중국어(번체) 영어 프랑스어 독일어 이탈리아어 포르투갈어 러시아어 스페인어 터키어

안타깝게도 지금은 이 정보를 번역할 수 없습니다. 나중에 다시 시도해 주세요.

소개

이 예에서는 Microsoft Windows*를 실행하는 인텔® 프로세서 그래픽 GPU에서 실행되는 OpenCL™ C ​​​커널에 의해 슬레이브 영역이 업데이트되는 OpenGL* 4.3에서 텍스처를 생성하는 방법을 보여줍니다. 이러한 기술의 한 가지 용도는 OpenCL에서 특정 이미지 요소의 감지기를 실행해야 하는 실시간 컴퓨터 비전 애플리케이션에 있을 수 있지만 감지기가 화면에 명확하게 표시된 완성된 이미지를 실시간으로 표시하는 것입니다. 이 경우 기존 렌더링 파이프라인과의 호환성을 위해 OpenCL 코어의 모든 C 언어 기능은 물론 OpenGL API의 렌더링 기능에도 액세스해야 합니다. 이러한 기술을 사용하는 또 다른 예는 OpenCL에서 동적으로 생성된 절차적 텍스처를 사용하여 장면에서 3차원 개체를 렌더링하는 경우입니다. 마지막으로 3D 파이프라인을 사용하여 장면을 렌더링한 후 OpenCL에서 이미지를 사후 처리한다고 상상해 보세요. 이는 색상 변환, 해상도 변경 또는 특정 시나리오에서 압축 수행에 유용할 수 있습니다.

이 예에서는 OpenCL이 OpenGL에서 생성된 텍스처를 업데이트하는 방법을 보여줍니다. 오프라인 이미지 처리 파이프라인에서 사용될 수 있는 정점 버퍼 객체나 오프스크린 프레임 버퍼를 업데이트하는 데에도 동일한 지침이 적용됩니다.

표면 공유 확장은 OpenCL 확장 사양에서 cl_khr_gl_sharing 줄로 정의됩니다. 또한 Intel GPU에서 지원하는 cl_khr_gl_event 확장을 사용합니다.

동기 부여

이 튜토리얼의 목적은 독자들에게 OpenCL 및 OpenGL에 공통적인 표면을 생성하는 기능을 소개하는 것입니다. 또한 API 작동 방식, OpenGL API(특히 Intel GPU)의 다양한 텍스처 생성 경로에 대한 성능 고려 사항, 이 접근 방식과 개별 GPU 사용 간의 차이점을 더 잘 이해할 수 있습니다.

기본 원리

OpenGL 텍스처를 생성하고 이를 Intel GPU에서 최고 성능의 OpenCL 이미지로 액세스하려면 OpenGL PBO(픽셀 버퍼 개체)를 생성하면 안 됩니다. PBO는 Intel GPU의 성능 이점을 누릴 수 없습니다. 또한 데이터의 추가 선형 복사본을 하나 이상 생성한 다음 렌더링을 위해 GPU에서 사용하는 텍스처 형식으로 복사합니다. 둘째, OpenCL과 OpenGL을 동기화하기 위해 glFinish()를 사용하는 대신 Intel GPU가 cl_khr_gl_event 확장을 지원하므로 암시적 동기화 메커니즘을 사용할 수 있습니다.

공유된 물리적 메모리를 갖춘 Intel® GPU

Intel® GPU와 CPU는 메모리를 함께 공유합니다. 이들의 관계는 그림 1에 설명되어 있습니다. 메모리 하위 시스템의 기능을 향상시키는 여러 아키텍처 메커니즘(이 그림에는 표시되지 않음)이 있습니다. 예를 들어 캐시 계층 구조, 샘플러, 원자성 작업, 읽기 및 쓰기 대기열은 메모리 하위 시스템의 성능을 향상시키는 데 사용됩니다.

그림 1. CPU, GPU의 관계인텔® 및 주 메모리. CPU와 GPU는 공유 메모리 풀을 공유합니다(드라이버가 관리하는 전용 메모리가 있는 개별 GPU와는 반대).

Intel GPU에서 PBO(픽셀 버퍼 개체)를 사용하면 안되는 이유

“버퍼 개체를 사용하여 중간에 텍스처 데이터를 저장하는 것의 가장 큰 장점은 셰이더에서 데이터가 필요하기 전에 발생하는 한 버퍼 개체에서 텍스처로의 전송이 즉시 발생할 필요가 없다는 것입니다. 이를 통해 애플리케이션 실행과 동시에 전송이 발생할 수 있습니다. 데이터가 애플리케이션 메모리에 있는 경우 의미론은 다음과 같습니다.glTexSub이미지 2 ()는 함수가 반환되기 전에 데이터 복사본을 생성해야 합니다. , 이로써 병렬 전송을 제거합니다. 이 접근 방식의 장점은 함수가 반환되자마자 애플리케이션이 함수에 전달된 데이터를 자유롭게 변경할 수 있다는 것입니다."

이 API 호출의 요점은 애플리케이션 메모리(예: CPU 메모리)와 GPU 간의 액세스를 공유하는 것입니다. 아니다두 API 간에 공유되며, 각각은 그림 1과 같이 동일한 장치와 동일한 물리적 메모리에서 서로 다른 명령 흐름을 실행합니다.

PBO 개체를 사용하면 실제로 다음과 같은 결과가 발생합니다. 절감공유된 물리적 메모리를 사용하는 장치의 성능. 첫째, PBO 개체는 추가 스테이징 영역이므로 애플리케이션에서 소비하는 메모리 양이 증가합니다. 둘째, PBO의 데이터는 선형 형태로 저장되는데, OpenGL 텍스처나 OpenCL 이미지 등 분할된 형태의 데이터가 필요한 경우 해당 데이터를 필요한 형식으로 변환해야 합니다. 마지막으로 두 API 간 복사에는 시간이 걸리며 이는 애플리케이션 성능에도 부정적인 영향을 미칩니다.

개별 GPU를 사용한 공유 액세스의 경우 PBO 개체를 사용하는 것이 합리적입니다. CPU와 관련하여 비동기적으로 작동하는 DMA 전송을 시작할 수 있습니다. PBO가 없으면 OpenGL 의미론에는 동기식 쓰기가 필요하고 결과가 반환될 때까지 기다리므로 성능도 저하됩니다. 우리의 경우 CPU에서 GPU 메모리 하위 시스템으로 데이터가 전송되지 않습니다.

표면을 공유할 때 어떤 경우에 RVO를 사용할 수 있나요?

RVO 개체를 사용하는 것이 적합한 시나리오가 있습니다. 예를 들어 OpenCL 확장 사양의 표 9.4에 따라 OpenGL 및 OpenCL과 호환되는 적합한 표면 형식이 없는 경우입니다. 이 경우 BBO를 생성하여 버퍼 공유 관련 API와 공유할 수 있습니다. 그러나 위에서 언급한 성능 저하를 방지하려면 이러한 시나리오를 피하십시오. 필요한 경우 참조 섹션에 링크된 Maxim Shevtsov의 예를 참조하세요.

OpenCL™과 OpenGL* 간의 동기화

런타임 시 OpenCL 및 OpenGL에서 최고의 성능을 달성하는 것이 중요합니다. 사양에는 다음과 같이 나와 있습니다.

"객체를 호출하기 전에clEnqueueAcquireGLObjects애플리케이션은 보류 중인 모든 작업이 완료되었는지 확인해야 합니다.G.L.다음에 지정된 개체에 액세스할 수 있는 사람기억_ 사물. 이식 가능한 방식으로 이 작업을 수행하려면 명령을 실행하고 완료될 때까지 기다리면 됩니다.glFinish모든 상황에 대해G.L.이러한 객체에 대한 지연된 참조가 있습니다. 다양한 구현에서는 보다 효율적인 동기화 방법을 사용할 수 있습니다. 예를 들어 일부 플랫폼에서는 다음을 호출하는 것으로 충분할 수 있습니다.glFlush또는 동기화가 스레드 내에서 암시적일 수 있습니다. 또는 명령 스트림을 구분할 수 있는 공급업체 지원 확장이 있을 수 있습니다.G.L.명령 대기열의 각 부분이 완료될 때까지 기다립니다.C.L.. 현재 서로 다른 구현 간의 이식성을 지원하는 유일한 동기화 방법은 다음과 같습니다.OpenGL, 이다glFinish».

최대 이식성을 위해 사양에서는 glFinish()를 요구하지만 이는 차단 호출입니다! 인텔 GPU에서 암시적 동기화를 사용하는 것이 더 효율적입니다.또는 cl_khr_gl_events 확장자를 사용하여 OpenCL과 OpenGL 간의 동기화 개체입니다. 이에 대해서는 아래에서 더 자세히 설명하겠습니다. 암시적 동기화 사용은 선택 사항입니다. 샘플 코드에는 암시적 동기화를 사용하려는 경우 사용할 수 있는 주석 처리된 섹션이 포함되어 있습니다.

OpenCL 및 OpenGL의 표면 공유 개요

먼저 초기화, 실행 및 종료 중에 화면 공유를 지원하는 데 필요한 단계를 설명합니다. 그런 다음 API와 언어 구문을 더 자세히 설명하겠습니다. 마지막으로, 이 아이디어가 이 예제의 범위를 넘어서는 다른 텍스처 형식을 포괄하도록 확장될 수 있는 방법을 다룰 것입니다. 우리는 창 관리를 위해 freeglu 공공 라이브러리와 glew 라이브러리를 사용합니다. 이러한 라이브러리를 사용하는 것은 샘플 OpenGL 애플리케이션의 표준 관행이므로 이에 대해 더 자세히 설명하지 않습니다.

초기화

  1. 오픈CL:
    1. 적절한 장치 매개변수를 전달하는 컨텍스트를 만듭니다.
    2. OpenGL과 OpenCL 간의 통신을 지원하는 장치 대기열과 컨텍스트를 만듭니다.
  2. OpenGL: OpenCL에서 사용할 수 있도록 할 OpenGL 텍스처를 만듭니다.
  3. OpenCL: 2단계에서 생성된 OpenGL 설명자를 사용하여 OpenCL 확장을 통해 공유 표면을 생성합니다.

1단계와 2단계는 반대로 할 수 있습니다. 3단계는 1단계와 2단계를 따라야 합니다.

다음의 공유 표면에 녹음오픈CL

  1. OpenCL 독점 액세스를 위해 표면을 잠급니다.
  2. OpenCL C 코어를 통해 이 표면에 씁니다. 텍스처 데이터로 작업할 때 이미지 읽기 또는 쓰기 기능을 사용하고 이에 따라 이미지를 전달해야 합니다.
  3. OpenGL에 읽기 또는 쓰기 액세스 권한을 부여하려면 표면을 잠금 해제하세요.

1, 2, 3단계를 나열된 순서대로 따라야 합니다.

주기

이 문서는 CPU와 GPU 간의 리소스 공유에 관한 것입니다. 렌더링 루프는 프로그래밍 가능한 정점 및 픽셀 셰이더를 통한 간단한 통과를 사용하여 쿼드를 형성하는 두 개의 삼각형에 대한 텍스처 맵을 생성합니다. 이 쿼드는 배경색이 표시되도록 전체 화면을 차지하지 않습니다.

일시 휴업

  1. OpenCL 상태 지우기
  2. OpenGL 상태 지우기

OpenGL 및 OpenCL 표면 공유에 대한 세부정보

이 섹션에서는 이전 섹션에서 설명한 단계에 대한 세부 정보를 제공합니다.

초기화

  1. 오픈CL:
    1. 확장이 지원되는지 확인하려면 쿼리를 실행하세요. 지원되지 않으면 완료하고 종료합니다.

      모든 OpenCL 구현이 OpenCL 및 OpenGL 표면에 대한 공유 액세스를 지원하는 것은 아니므로 먼저 시스템에 필요한 확장이 있는지 확인해야 합니다. 표면 공유를 지원하는 플랫폼의 확장 문자열을 찾기 위해 플랫폼을 반복합니다. 사양을 자세히 살펴보면 장치가 아닌 플랫폼의 확장임을 알 수 있습니다. 그런 다음 컨텍스트에서 OpenGL 컨텍스트 공유를 지원하는 장치를 결정하기 위해 폴링해야 하는 컨텍스트를 생성합니다.

      이 예제는 Intel GPU에서만 지원되지만, 다른 GPU도 큰 노력 없이 지원할 수 있습니다. 우리에게 필요한 확장은 cl_khr_gl_sharing 입니다. 다음은 관련 코드 조각입니다. 문자 확장_문자열; memset(확장_문자열, "

모든 비디오 카드의 성능은 하드웨어 변경뿐만 아니라 소프트웨어 변경으로도 향상될 수 있습니다. 첫 번째 경우에는 오버클럭에 대해 이야기하고 있지만 이는 카드 자체에 좋지 않은 결과를 가져올 수 있습니다. 따라서 소프트웨어를 변경하는 것이 최선의 선택입니다. 이를 통해 칩의 성능이 "고통 없이" 향상될 수 있습니다. 하지만 Nvidia 비디오 카드를 구성하기 전에 해당 모델을 정확히 알아야 합니다.

그래픽 모델 정의

시스템에서 사용되는 비디오 카드의 모델을 다양한 방법으로 확인할 수 있습니다. 가장 간단한 것은 다음과 같습니다.

  1. 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 하단 항목 "화면 해상도"를 선택합니다.
  2. "고급 옵션"을 클릭하세요.
  3. 나타나는 창에는 비디오 카드에 대한 정보가 표시됩니다. "어댑터" 탭에 모델명이 표시됩니다.

Aida64 프로그램을 사용하면 모델을 정확하게 결정할 수도 있습니다. 인터넷에서 유료로 배포되고 있지만, 기능이 축소된 무료 버전도 있습니다. 무료 버전은 우리에게 좋습니다. 공식 홈페이지에서 다운로드하여 설치하세요. 이를 실행하면 카드 모델이 GPU 탭에 나열됩니다.

올바른 드라이버 설치

Nvidia 비디오 카드를 설정하기 전에 적절한 드라이버를 설치해야 합니다. 그래픽 모델을 찾았으므로 이제 필요한 드라이버를 다운로드할 수 있습니다. 반드시 공식 홈페이지에서 다운로드 받으세요. 여기서 "지원" 섹션을 선택한 후 "드라이버"를 클릭해야 합니다. 여기에는 "제품 유형"(이 경우 GeForce), 운영 체제, 시리즈 및 제품군을 표시해야 합니다. 우리는 방금 결정한 비디오 카드의 이름을 통해 이 모든 것을 알고 있습니다.

드라이버를 다운로드하여 설치하십시오. 복잡한 것은 없습니다. 최소한 이전에 올바르지 않거나 오래된 드라이버를 사용했다면 새 소프트웨어가 이미 그래픽 성능을 향상시킬 수 있습니다.

Nvidia 비디오 카드 드라이버를 구성하는 방법은 무엇입니까?

새 드라이버를 설치하면 설치 프로그램이 자동으로 설치됩니다. 여기에서 매개변수를 변경하고, 게임에서 또는 비디오를 시청할 때 비디오 카드의 작동 모드를 선택할 수 있습니다. Nvidia 비디오 카드를 올바르게 구성하는 방법을 모르는 경우 이 프로그램이 확실히 도움이 될 것입니다.

일반적으로 Nvidia Control Center는 데스크탑에서 열립니다. 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 "Nvidia 제어판"을 선택합니다. 여기서 "3D 매개변수 관리" 항목을 선택해야 합니다. 이 섹션에는 텍스처 필터링, 버퍼링, 동기화 등과 같은 주요 내용이 포함되어 있습니다.

이방성 최적화

첫 번째 옵션은 "비등방성 최적화"라고 하며 활성화하면 3D 개체의 선명도가 높아집니다. 필터링 값이 높을수록 3D 애플리케이션(게임)의 개체가 더 선명해지지만 그래픽 리소스가 약간 더 필요합니다. 일반적으로 이 매개변수는 게임 자체에서 구성되지만 비디오 카드 설정에서 비활성화할 수 있으며 그러면 게임에서 무시됩니다.

텍스처 필터링이 성능에 영향을 주기는 하지만 그 규모가 작다는 점은 주목할 가치가 있습니다. 다른 매개변수는 더 강한 효과를 갖습니다.

필터링 및 최적화

삼선형 최적화 - 이 옵션은 "끄기"로 설정되어야 합니다. 이를 비활성화하면 드라이버가 삼선형 필터링 품질을 낮출 수 있으며 이는 성능 향상에 좋은 영향을 미칩니다. 이 필터링은 이중선형의 고급 버전입니다. 하지만 이 옵션을 비활성화하면 게임이나 기타 3D 응용 프로그램의 시각적 구성 요소에 영향을 미칩니다.

또한 2x, 4x, 8x, 16x 설정이 있는 옵션에도 주의를 기울입니다. 값이 높을수록 게임의 텍스처가 더 자연스럽게 보입니다. 그러나 이미 알고 있듯이 값이 높을수록 그래픽 리소스가 더 크다는 의미입니다.

트리플 버퍼링은 이중 버퍼링의 한 유형입니다. 이 기술을 사용하면 그래픽 아티팩트 수를 피하거나 최소한 줄일 수 있습니다. 성능을 약간 향상시키려면 이 옵션을 "끄기"로 설정하는 것이 좋습니다.

"텍스처 필터링" 옵션에서 "품질" 및 "성능" 옵션을 사용할 수 있습니다. "성능"을 선택합니다. 이렇게 하면 텍스처 필터링 품질이 떨어지지만 처리 속도는 높아집니다.

이는 비디오 카드로 더 높은 데이터 처리 속도를 얻을 수 있는 가장 기본적인 설정입니다. 사소한 것들도 있습니다 :

  1. 수직 동기 펄스 - "적응형" 값을 선택합니다.
  2. PhysX - CPU.
  3. 전원 관리 - 최대 성능을 위한 모드를 선택합니다.
  4. 앤티앨리어싱이 비활성화되었습니다.
  5. 스트리밍 최적화 - 활성화되었습니다.

Nvidia 비디오 카드의 성능을 성공적으로 조정한 후에는 모든 변경 사항을 저장해야 합니다. 다양한 비디오 카드 모델에서는 이러한 설정의 이름이 지정되거나 약간 다르게 보일 수 있으며 샘플링 옵션 수가 다소 다를 수 있다는 점을 즉시 알아두십시오. 그러나 일반적으로 아이디어는 위의 기술을 비활성화하는 것입니다.

결론

그렇습니다. 게임의 화질은 크게 떨어지겠지만, 뭔가를 희생해야 합니다. Nvidia GeForce 비디오 카드를 구성하는 방법을 아는 사용자는 모든 옵션을 한 번에 비활성화하지 마십시오. 또한 위의 모든 매개 변수를 즉시 비활성화하지 마십시오. 한 번에 하나씩 시도해 보고 게임의 FPS가 얼마나 증가하는지, "정지" 및 "브레이크"가 사라지는지 확인하세요. 두 개 또는 세 개의 매개변수를 비활성화한 후 게임이 정지되지 않고 정상적으로 작동할 수 있다면 그래픽에 해를 끼치도록 나머지 매개변수를 비활성화해서는 안 됩니다.

이제 Nvidia 비디오 카드를 올바르게 구성하는 방법을 알았으며 직접 구성할 수 있습니다.

안녕하세요 여러분! 오늘은 컴퓨터 게임에서 고성능을 위해 비디오 카드를 미세 조정하는 방법에 관한 매우 흥미로운 기사입니다. 친구들은 비디오 카드 드라이버를 설치한 후 한때 "Nvidia 제어판"을 열었고 그곳에서 DSR, 셰이더, CUDA, 클럭 펄스, SSAA, FXAA 등과 같은 익숙하지 않은 단어를 보고 더 이상 거기에 가지 않기로 결정했다는 데 동의합니다. . 그러나 그럼에도 불구하고 성능은 이러한 설정에 직접적으로 의존하기 때문에 이 모든 것을 이해하는 것이 가능하고 필요합니다. 이 정교한 패널의 모든 것이 기본적으로 올바르게 구성되어 있다는 오해가 있습니다. 불행히도 이는 사실과 거리가 멀고 경험에 따르면 올바른 설정은 상당한 증가로 보상됩니다.프레임 속도.준비하세요. 스트리밍 최적화, 이방성 필터링 및 삼중 버퍼링을 이해하겠습니다. 결국에는 후회하지 않을 것이며, 다음과 같은 형태로 보상을 받게 될 것입니다.게임에서 FPS를 높입니다.

게임용 Nvidia 그래픽 카드 설정

게임 제작의 발전 속도는 러시아의 주요 통화 환율과 마찬가지로 매일 점점 더 많은 추진력을 얻고 있으며 따라서 하드웨어, 소프트웨어 및 운영 체제 운영 최적화의 관련성이 급격히 높아졌습니다. 지속적인 재정 투입을 통해 강철 종마를 좋은 상태로 유지하는 것이 항상 가능한 것은 아니므로 오늘은 세부 조정을 통해 비디오 카드의 성능을 높이는 방법에 대해 이야기하겠습니다. 내 기사에서 비디오 드라이버 설치의 중요성에 대해 반복해서 썼습니다. , 건너뛰셔도 될 것 같아요. 나는 여러분 모두가 이 작업을 수행하는 방법을 완벽하게 잘 알고 있다고 확신하며 여러분 모두는 이미 오랫동안 설치해 왔습니다.

따라서 비디오 드라이버 관리 메뉴로 이동하려면 바탕 화면의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 열리는 메뉴에서 "Nvidia 제어판"을 선택하세요.

그런 다음 열리는 창에서 "3D 매개변수 관리" 탭으로 이동합니다.

여기에서는 게임의 3D 이미지 표시에 영향을 미치는 다양한 매개변수를 구성합니다. 비디오 카드에서 최대 성능을 얻으려면 이미지 품질을 크게 줄여야 한다는 것을 이해하는 것은 어렵지 않으므로 이에 대비하십시오.

그래서 첫 번째 요점 " CUDA-GPU" 다음은 선택할 수 있고 CUDA 응용 프로그램에서 사용되는 비디오 프로세서 목록입니다. CUDA(Compute Unified Device Architecture)는 모든 최신 GPU에서 컴퓨팅 성능을 높이기 위해 사용하는 병렬 컴퓨팅 아키텍처입니다.

다음 항목 " DSR - 부드러움“'DSR - Degree' 항목 설정의 일부이기 때문에 건너뛰고, 차례로 비활성화해야 하며 이제 그 이유를 설명하겠습니다.

DSR(동적 초해상도)– 게임 내 이미지를 더 높은 해상도로 계산한 다음 결과 결과를 모니터 해상도에 맞게 조정할 수 있는 기술입니다. 이 기술이 발명된 이유와 최대 성능을 얻기 위해 이 기술이 필요하지 않은 이유를 이해하기 위해 예를 들어 보겠습니다. 확실히 당신은 게임에서 풀이나 나뭇잎과 같은 작은 세부 사항이 움직일 때 자주 깜박이거나 잔물결을 일으키는 것을 자주 발견했습니다. 이는 해상도가 낮을수록 미세한 디테일을 표시하기 위한 샘플링 포인트 수가 적기 때문입니다. DSR 기술은 포인트 수를 늘려 이를 수정할 수 있습니다(해상도가 높을수록 샘플링 포인트 수가 많아집니다). 이것이 분명해지기를 바랍니다. 최대 성능 조건에서 이 기술은 많은 시스템 리소스를 소비하므로 우리에게는 흥미롭지 않습니다. 글쎄, DSR 기술이 비활성화되면 바로 위에서 쓴 부드러움 조정이 불가능해집니다. 일반적으로 우리는 그것을 끄고 계속 진행합니다.

다음은 온다 이방성 필터링. 이방성 필터링은 카메라를 기준으로 기울어진 텍스처의 품질을 향상시키기 위해 만들어진 컴퓨터 그래픽 알고리즘입니다. 즉, 이 기술을 사용하면 게임 내 텍스처가 더욱 선명해진다. 반등방성 필터링을 이전 필터링, 즉 이중선형 및 삼선형 필터링과 비교하면 이방성 필터링은 비디오 카드 메모리 소비 측면에서 가장 왕성합니다. 이 항목에는 필터 계수 선택이라는 한 가지 설정만 있습니다. 이 기능을 비활성화해야 한다고 추측하는 것은 어렵지 않습니다.

다음 포인트 - 수직 동기 펄스. 이는 이미지를 모니터의 새로 고침 빈도와 동기화하는 것입니다. 이 옵션을 활성화하면 가장 원활한 게임 플레이를 얻을 수 있지만(카메라가 급격하게 회전할 때 이미지 찢어짐 현상이 제거됨) 모니터 재생 빈도 이하에서 프레임 드롭이 자주 발생합니다. 초당 최대 프레임 수를 얻으려면 이 옵션을 비활성화하는 것이 좋습니다.

사전 준비된 가상 현실 영상. VR은 일반 게이머가 일상적으로 사용하는 것과는 거리가 멀기 때문에 가상 현실 안경의 기능은 우리에게 흥미롭지 않습니다. 기본값으로 둡니다. 3D 애플리케이션 설정을 사용합니다.

배경 조명 음영. 가까운 물체에 의해 가려진 표면의 주변 광도를 부드럽게 하여 장면을 더욱 사실적으로 보이게 합니다. 이 기능은 모든 게임에서 작동하지 않으며 리소스를 많이 사용합니다. 그러므로 우리는 그녀를 디지털 어머니에게 데려갑니다.

셰이더 캐싱. 이 기능이 활성화되면 CPU는 GPU용으로 컴파일된 셰이더를 디스크에 저장합니다. 이 셰이더가 다시 필요한 경우 GPU는 CPU가 이 셰이더를 다시 컴파일하도록 하지 않고 디스크에서 직접 가져옵니다. 이 옵션을 비활성화하면 성능이 저하될 것이라고 추측하는 것은 어렵지 않습니다.

사전 준비된 최대 프레임 수. GPU에서 처리하기 전에 CPU가 준비할 수 있는 프레임 수입니다. 값이 높을수록 좋습니다.

다중 프레임 앤티앨리어싱(MFAA). 이미지 가장자리의 "들쭉날쭉함"을 제거하는 데 사용되는 앤티앨리어싱 기술 중 하나입니다. 모든 앤티앨리어싱 기술(SSAA, FXAA)은 GPU에 매우 큰 부담을 줍니다(유일한 문제는 폭식의 정도입니다).

스트림 최적화. 이 기능을 활성화하면 애플리케이션이 동시에 여러 CPU를 사용할 수 있습니다. 이전 애플리케이션이 올바르게 작동하지 않으면 "자동" 모드를 설정하거나 이 기능을 완전히 비활성화해 보십시오.

전원 관리 모드. 적응 모드와 최대 성능 모드의 두 가지 옵션을 사용할 수 있습니다. 적응 모드 중 전력 소비는 GPU 로드에 직접적으로 영향을 받습니다. 이 모드는 주로 전력 소비를 줄이기 위해 필요합니다. 최대 성능 모드에서는 짐작할 수 있듯이 GPU 부하에 관계없이 가능한 최고 수준의 성능과 전력 소비가 유지됩니다. 두 번째 것을 넣어 봅시다.

앤티앨리어싱 – FXAA, 앤티앨리어싱 – 감마 보정, 앤티앨리어싱 – 매개변수, 앤티앨리어싱 – 투명도, 앤티앨리어싱 – 모드. 나는 이미 조금 더 높은 스무딩에 대해 썼습니다. 모든 것을 끄십시오.

트리플 버퍼링. 이중 버퍼링의 일종입니다. 아티팩트(이미지 왜곡)를 피하거나 줄이는 이미지 출력 방법입니다. 쉽게 말하면 생산성이 높아진다. 하지만! 이 기능은 이전에 비활성화했던 수직 동기화와 함께 작동할 때만 작동합니다. 따라서 이 매개변수도 비활성화합니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: