애플리케이션의 하드웨어 가속 2D. Android 스마트폰이나 태블릿의 속도를 높이는 방법은 무엇입니까? 비활성화해야 하는 이유

다음을 사용할 때 "하드웨어 가속" 옵션을 본 적이 있을 것입니다. 다양한 응용그리고 장치. 즐겨 사용하는 응용 프로그램 중 하나에서 성능을 향상하거나 오류를 방지하기 위해 이를 활성화하거나 비활성화해야 할 수도 있지만 그 이유를 알지 못했을 수도 있습니다. 이 문서에서는 하드웨어 가속에 대해 알아야 할 모든 것과 앱에서 이를 사용할 수 있는지 여부에 대해 설명합니다.

하드웨어 가속은 다른 장치에 다운로드할 수 있는 작업을 설명하는 데 사용되는 용어입니다. 기본적으로 대부분의 컴퓨터와 응용 프로그램에서는 CPU가 다른 하드웨어보다 우선합니다. 이는 매우 정상적인 현상입니다. 특히 다음과 같은 경우에는 더욱 그렇습니다. 강력한 프로세서. 그렇지 않으면 시스템의 다른 구성 요소를 사용하는 것이 유용할 수 있습니다. 그러면 기능이 활성화됩니다. 다음은 몇 가지 널리 사용되는 사용 사례입니다.

  • AU의 도움으로 사용할 수 있습니다 사운드 카드고품질 및 사운드 녹음을 보장합니다.
  • 그래픽 카드는 하드웨어 그래픽 가속과 함께 사용되어 더 빠르고 고품질의 미디어 디스플레이를 제공할 수 있습니다.

브라우저의 하드웨어 가속이란 무엇입니까? 한마디로 이는 인터넷 페이지를 보는 프로그램이 콘텐츠를 최대한 빠르고 효율적으로 표시하는 기능입니다. 하드웨어 가속은 CPU가 아닌 다른 것에 오프로드되는 거의 모든 작업으로 정의될 수 있지만 GPU와 사운드 카드는 소프트웨어에서 가장 널리 사용되는 예입니다. 프로세서만이 이러한 장치가 할 수 있는 모든 작업을 기술적으로 수행할 수 있습니다. 특히 통합 그래픽을 자랑하는 경우(요즘 많은 경우처럼), 일반적으로 전용 하드웨어를 사용하는 것이 최선의 선택입니다.

전력 사용량 그래픽 레이아웃동적으로 변화하는 웹 콘텐츠를 표시하기 위한 소위 하드웨어 가속은 의심할 여지 없이 Firefox 4 및 Internet Explorer 9에 등장한 가장 흥미로운 새로운 기능 중 하나입니다. 이러한 브라우저 개발자에 따르면 그래픽 프로세서를 사용하면 다음을 달성할 수 있습니다. 전례 없는 성능, 빠르고 원활한 인터넷 애플리케이션 작동 현대 기술. 동시에 이는 그래픽 관련 계산을 수행할 수 있는 능력이 떨어지는 프로세서의 부하를 줄이는 데 도움이 됩니다. 이는 전체 시스템의 작동에 직접적인 영향을 미치며, 노트북 컴퓨터의 경우 전원 공급 없이 작동하는 기간에도 영향을 미칩니다. Microsoft는 화면에 표시되거나 페이지에 인쇄될 때 나타나는 텍스트와 이미지의 품질을 개선하고 있습니다. 별도의 문제는 그래픽 레이아웃을 사용하여 WebGL API를 사용하여 3D 그래픽을 렌더링하는 것입니다.

브라우저에서 GPU를 사용하는 것이 항상, 어디서나, 모든 컴퓨터에서 가능한 것은 아닙니다. 주요 제한 사항은 운영 체제와 관련이 있습니다. 현재 두 브라우저의 베타 버전은 Windows Vista, 7 및 10만 지원합니다. Internet Explorer 9의 경우 최종 버전에서도 변경되지 않지만 Mozilla는 다음을 약속합니다. 다른 플랫폼에서 실행되는 솔루션을 소개합니다. 유일한 시스템두 제조업체 모두 놓친 것은 Windows XP입니다.

비활성화해야 하는 이유

하드웨어 가속을 비활성화해야 하는 경우는 다음과 같습니다.

  • 프로세서가 매우 강력하고 다른 시스템 구성 요소가 특별히 강력하지 않은 경우 전원을 사용하여 PC 리소스를 관리하는 것에 비해 속도를 높이는 것은 실제로 비효율적일 수 있습니다. 또한 구성 요소가 어떤 식으로든 과열되거나 손상되기 쉬운 경우 하드웨어 가속을 과도하게 사용하면 하드웨어 가속 없이는 경험하지 못할 문제가 발생할 수 있습니다.
  • 사용을 목적으로 한 소프트웨어 하드웨어, 잘 작동하지 않거나 프로세서만 사용하는 것만큼 안정적으로 작동할 수 없습니다.

언제 사용하는가

물론 하드웨어 가속이 그렇게 나쁘지는 않습니다. 의도한 대로 사용하면 실제로 매우 효과적입니다. 애플리케이션에서 하드웨어 가속을 활성화해야 하는 경우는 다음과 같습니다.

  1. 강력하고 안정적일 때 GPU, 하드웨어 가속을 활성화하면 게임뿐만 아니라 지원되는 모든 앱에서 하드웨어 가속을 최대한 활용할 수 있습니다. 안에 크롬 가속 GPU 하드웨어는 일반적으로 훨씬 더 원활한 탐색 및 미디어 소비를 허용합니다.
  2. Sony Vegas와 같은 비디오 편집/렌더링 프로그램(또는 OBS와 같은 스트리밍 프로그램)에서 하드웨어 가속을 활성화하면 지원되는 장치(일반적으로 GPU 또는 CPU)에 있는 특수 하드웨어를 사용할 수 있습니다. (예를 들어 Intel QuickSync는 최신 프로세서, 빠른 비디오 렌더링 및 인코딩을 위해 설계됨).

하드웨어 가속이 활성화되어 있는지 확인하는 방법

바탕화면에서 마우스 우클릭 – 화면 해상도 – 고급 설정 – 진단 – 설정 변경을 클릭하세요. 버튼이 비활성화되어 있으면 하드웨어 가속이 활성화됩니다.

Windows 10의 경우 하드웨어 가속을 사용하십시오. Win+R – dxdiag – Screen – DirectDraw Acceleration, Direct3D Acceleration, AGP Texture Acceleration – 3개의 매개변수가 모두 켜져 있어야 합니다. 그렇지 않으면 하드웨어 가속이 비활성화됩니다.

하드웨어 가속 활성화 절차

Windows 7에서 하드웨어 가속을 활성화하는 방법은 무엇입니까? 어떤 이유로 하드웨어 가속을 활성화해야 할 수도 있습니다. 예를 들어 다음을 실행하려면 안드로이드 에뮬레이터 V 비주얼 스튜디오. 컴퓨터에 BIOS를 입력하기만 하면 됩니다(설정 - 업데이트 및 보안 - 복구). 고급 시작에서 지금 다시 시작을 클릭하면 컴퓨터가 다시 시작됩니다. 이는 Windows 10에서도 작동합니다.

재부팅 후 "문제 해결" - "고급 옵션" - "UEFI 펌웨어 설정" - "다시 시작"을 클릭하세요.

BIOS 사용자 인터페이스가 표시되면 구성 섹션으로 이동합니다. 그래픽카드 가속기 '가상' 등 가상화 기술이 적용됐는지 확인만 하면 된다. 인텔 기술" 또는 "AMD-V 가상화"가 활성화되어 있습니다. 그런 다음 마지막 "종료" 섹션으로 이동하여 "종료 및 변경 사항 저장"을 클릭합니다. 이제 하드웨어 가속이 가능해졌습니다.

Chrome의 하드웨어 가속. 기능은 무엇이며 어떻게 켜나요?

Google 크롬을 사용하면 그래픽 카드를 사용하여 웹사이트에서 그래픽을 렌더링하고 크기를 조정할 수 있습니다. 이렇게 하면 브라우저 속도가 빨라지고 프로세서가 확보됩니다. 이 기회를 활용하는 방법을 알아보세요!

하드웨어 가속을 활성화하면 특히 성능이 낮은 컴퓨터를 사용하거나 동시에 수십 개의 탭을 사용하는 사용자가 느낄 수 있습니다. 이 기능을 활성화하려면 주소 표시줄에 "about:flags" 명령을 입력하세요.

첫 번째 단계는 소프트웨어 렌더링 목록 재정의 옵션을 활성화하는 것입니다. 바로 아래에 있는 또 다른 2D 프로세서는 GPU(Accelerated 2D Canvas)를 사용하여 가속화되며, 이 역시 활성화되어야 합니다. Chrome 11 사용자는 첫 번째 옵션을 사용할 수 없습니다. 이 버전의 브라우저에서는 기본적으로 활성화되어 있습니다.

조금 더 낮은 곳에는 초기 웹사이트 렌더링이라는 또 다른 기능이 있습니다. 또한 활성화해야 합니다. 마지막 단계는 브라우저를 다시 시작하는 것입니다.

하드웨어 가속을 비활성화하는 방법

이 기능은 기본적으로 특정 작업(일반적으로 소프트웨어에 의해 수행됨)을 가능한 한 빨리 수행하기 위해 PC 구성 요소를 사용하는 것을 의미합니다. 이는 소프트웨어 및 해당 소프트웨어 대신 그래픽 렌더링 기능을 컴퓨터의 비디오 카드에 오프로드하여 컴퓨터 그래픽을 더 부드럽고 빠르게 만들기 위해 설계되었습니다. 중앙 프로세서(CPU). 하드웨어 가속의 기본 아이디어는 비디오 처리 프로세스 속도를 높여 더 나은 성능을 제공하는 것입니다.

첫 번째 단계에서는 Direct2D 및 DirectWrite 라이브러리를 사용하여 페이지 콘텐츠를 렌더링하므로 텍스트 및 벡터 그래픽의 가장자리가 더 부드러워집니다. 렌더링 성능도 향상되었습니다. 일반 요소이미지, 테두리, 배경 블록 등의 페이지. 또한 페이지에 H.264 코덱을 사용하여 삽입된 비디오가 있는 경우 비디오 카드도 처리할 수 있습니다. 현재 가속은 Internet Explorer 9와 Firefox 4 모두에서 작동합니다.

이 단계에서 마이크로소프트 브라우저압축을 위해 새로운 디코딩 메커니즘을 사용합니다. 그래픽 파일, TIFF 형식과 Microsoft에서 만든 JPEG XR도 지원합니다. 후자가 후계자가 되어야 한다 JPEG 형식, 더 나은 이미지 대 파일 비율을 제공합니다. 더 복잡한 알고리즘에는 더 많은 처리 능력이 필요하므로 이러한 목적으로 GPU를 사용하는 것이 이상적인 솔루션입니다.

페이지 구성이나 해당 요소 결합은 Direct3D 라이브러리를 사용하여 수행됩니다. 이전 단계에서 생성된 구성 요소 이미지는 메모리에 저장됩니다. 그래픽 카드, 하나의 전체로 신속하게 조립할 수 있습니다. 현재는 Internet Explorer에서만 가능하며, 향후에는 Firefox 4에서도 가능합니다.

결과 이미지, 즉 브라우저 창과 그 내용이 포함된 전체 바탕 화면의 생성은 시스템을 사용하여 수행됩니다. Windows 구성요소 Vista 및 7-데스크탑 창 관리자(DWM). 사용한다는 사실 덕분에 DirectX 라이브러리, 페이지 콘텐츠를 나타내는 기존 이미지 메모리를 직접 사용하고 RAM을 로드할 필요 없이 이를 데스크탑에 통합할 수 있습니다(브라우저가 그래픽 라이브러리를 사용하지 않는 경우 발생).

Internet Explorer 9에는 새로운 인쇄 페이지 처리 엔진인 XPS도 포함되어 있습니다. 이를 통해 모든 레이어를 빠르게 적용하고 하나의 이미지를 만들 수 있을 뿐만 아니라 품질도 향상됩니다. 예를 들어, 모든 유형의 차트가 더 좋아 보입니다.

Windows 7에서 하드웨어 가속을 비활성화하는 방법은 무엇입니까? Windows에서는 기본적으로 이 기능을 사용하지 않지만 직접 비활성화하는 것은 상당히 쉽습니다. 하드웨어 가속을 비활성화하면 소프트웨어가 프로그램 렌더링 형식으로 실행됩니다. 모든 그래픽은 프로그램에 의해 렌더링되고 그래픽 렌더링 작업은 GPU로 전송됩니다.

Yandex 브라우저에서 하드웨어 가속을 비활성화하는 방법은 무엇입니까? 설정으로 이동하여 페이지 맨 아래로 이동하여 활성화해야 합니다. 추가 옵션. 그런 다음 시스템 섹션을 찾아 '가능한 경우 하드웨어 가속 사용'을 선택 취소하세요. 브라우저를 다시 시작하면 변경 사항이 적용됩니다.

Chrome에서 하드웨어 가속을 비활성화하려면 Yandex 브라우저에 대한 지침을 사용하십시오. 설정은 동일합니다. 브라우저를 다시 시작한 후에도 문제가 지속되면 다음을 시도해 보십시오.

  • 주소 표시줄에 'chrome://flags'를 입력하고 Enter 키를 누릅니다.
  • 설정 목록에서 "비디오 디코딩을 위한 하드웨어 가속"을 비활성화하고 프로그램을 다시 시작하세요.

재부팅하면 가속 문제가 사라집니다. Opera에서 기능을 비활성화하려면 설정으로 이동하여 추가 옵션을 선택한 다음 시스템 섹션에서 "하드웨어 가속 사용" 상자를 선택 취소해야 합니다.

Flash Player 가속을 비활성화하려면 다음 중 하나를 엽니다. 플래시 애플리케이션, 마우스 오른쪽 버튼을 클릭하고 상자를 선택 취소하세요. 필수 기능. 브라우저를 다시 시작하세요.

Firefox에서 하드웨어 가속을 비활성화하는 방법

다음으로 브라우저에서 하드웨어 가속을 비활성화하는 방법을 설명합니다. 모질라 파이어 폭스. 예를 들어, 그래픽 컨트롤러에 문제가 있어 브라우저가 불안정하거나 느려지고, 방문한 페이지의 요소가 제대로 표시되지 않는 경우에 이 방법이 효과적일 수 있습니다.

하드웨어 가속은 모든 드라이버에서 지원되지 않습니다. 경우에 따라 페이지에 요소를 로드하는 데 문제가 있을 수 있습니다. 따라서 브라우저를 사용할 때 페이지가 느리게 로드되고 시작하는 데 문제가 있는 경우 개별 페이지, 하드웨어 가속을 비활성화합니다. 이렇게 하면 모든 문제가 해결됩니다.


문제가 해결되었다면 하드웨어 문제로 인해 브라우저가 오작동했다는 의미입니다.

나는 상당한 양의 C++를 알고 있으며 이제 게임 제작을 탐구하고 싶었습니다. 여전히 크로스 플랫폼(Windows/OSX/Linux)인 하드웨어 가속 게임을 작성하는 측면에서 가장 좋은 접근 방식이 무엇인지 궁금합니다. 2D 게임이기는 하지만 CPU 렌더링이 잘리지 않을 만큼 강렬합니다.

마지막으로, 더 쉽게 만들 수 있는 http://www.sfml-dev.org/와 같은 라이브러리를 보았습니다. 이 경로를 따라가야 할까요?

다시 한 번 감사드립니다.

답변 6개

말도 안되는 소리야 얘들아

OpenGL 이다크로스 플랫폼. Qt 등은 필요하지 않습니다. OS별 루틴에 의존하는 유일한 기능인 Windows API와 입력 API 등 몇 가지 부분만 조정하면 됩니다.

여러 가지 옵션이 있습니다:

크로스 플랫폼 하드웨어 가속 2d C++ 앱?

저는 OpenGL을 알고 있지만 이를 크로스 플랫폼 방식으로 사용하는 방법에 대한 튜토리얼을 찾을 수 없습니다. 모두 하나의 플랫폼에 중점을 두고 있습니다.

SDL_Init(SDL_INIT_VIDEO); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_SWAP_Control, 0);//vsync 비활성화 if (SDL_SetVideoMode(scrWidth, scrHeight, 32, SDL_OPENGL) == 0)( fprintf(stderr, "couldn"t set mode %dx%d!\n", 640, 480 ); SDL_Quit(); return -1; ) glewInit();//glew, 셰이더, 확장을 사용하는 경우 while(gameIsRunning())(//게임 루프 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //여기서 OpenGL 렌더링 glFlush (); SDL_GL_SwapBuffers(); ) SDL_Quit();

자세한 내용은 sdl 설명서를 참조하세요.

SDL을 사용하는 것도 가능하지만, 사용하면 게임이 실행되지 않을 수도 있는 점 양해 부탁드립니다. 이것이 반드시 사실일까요?

vsync가 비활성화되면 초당 수백에서 수천 프레임을 얻을 수 있습니다. 정확한 성능은 장비의 복잡성과 장면의 복잡성에 따라 달라집니다. 정점 버퍼 목록/객체를 표시하지 않고 OpenGL의 "RAW"를 사용한 간단한 3D 던전 크롤러의 경우 300fps를 얻었습니다. 또한 다음과 같은 메커니즘을 사용하는 경우 고정 주파수프레임 또는 타이머를 사용하면 요청한 것보다 더 많은 초당 프레임을 수신할 수 없습니다.

SDL은 Unreal 2004를 Linux로 포팅하는 데 사용되었습니다. Doom 3/Quake 4의 Linux 포트에도 사용되었습니다. 따라서 철저한 테스트를 거쳐 잘 알려져 있습니다.

나에게 문제는 라이브러리를 사용해야 하는지 여부가 아닙니다. 사용해야 하는 라이브러리입니다. 게임을 작성하고 싶다면 대부분의 이식성 문제를 해결할 라이브러리를 찾으세요. 이렇게 하면 가장 중요한 것, 즉 게임 자체에 집중할 수 있습니다. 다른 사람들은 내가 당신에게 줄 수 있는 더 많은 도서관 제안을 했습니다.

프로젝트를 시작하기도 전에 성능에 대해 걱정하는 것은 실수라고 생각합니다. 개발 중에 직면하는 다른 문제와 마찬가지로 성능 문제도 해결하세요. 나머지 논리와는 다른 수준에서 라이브러리를 격리하는 프로그램을 만듭니다. 필요한 경우 구현을 전환하는 것이 더 쉬울 것입니다. 다양한 구현을 실험해 볼 수도 있습니다.

// 파일 분리 class LowLevelGraphicStuff ( // 추상 ); class LowLevelGraphicStuff_SFML: public LowLevelGraphicsStuff ( // 실제 SFML 구현 ); class LowLevelGraphicsStuff_OGL: public LowLevelGraphicsStuff ( // 실제 OpenGL 구현 ); // main // SFML 구현으로 게임을 실행합니다. gameLoop(new LowLevelGraphicsStuff_SFML()); // OpenGL 구현으로 게임을 실행합니다. gameLoop(new LowLevelGraphicsStuff_OGL());

소개

병행하여 윈도우 릴리스 7 몇 달 전, 비디오 카드 제조업체는 새로운 GPU를 탑재한 많은 모델을 출시한 후 자사 제품의 드라이버를 개선하기 시작했습니다. 오늘날 그들이 최신 운영 체제에서 가장 시급한 문제(솔직히 Vista의 경우만큼 중요하지 않음)를 처리할 수 있을 만큼 충분한 시간이 지났으며 객관적인 테스트를 통해 신기술의 상태.

물론 오늘날의 초점이 3D 기술에 있다는 것을 이해하지만 오늘날 당연하게 여겨지는 그래픽 구성 요소인 2D 그래픽으로 돌아가기로 결정했습니다. RAMDAC 성능이 큰 차이를 만들었던 시절에 해결되었던 문제를 제기하면서 테스트 모음에 몇 가지 테스트를 추가하기로 결정했다고 생각하지 마십시오. 그러나 이것에 대해서는 나중에 조금 더 이야기하겠습니다.

대부분의 사용자는 Windows GUI의 표시 속도(Windows 7은 Vista에 비해 상당한 칭찬을 받았음)에 관심이 있지만 Windows 7의 "그래픽 업데이트"는 보이는 것만큼 신선하지 않다는 사실을 발견했습니다. 적어도 새로운 구현에 대한 연구에 따르면 Windows XP(및 심지어 Vista)와 비교하여 GPU 제조업체는 아직 Windows 7용 2D 그래픽을 완전히 최적화하지 않았습니다. API 호출 GDI(그래픽 장치 인터페이스). 우리 모두는 2D 그래픽이 단지 재미있는 팔레트, 시각적 전환 효과, 그림자가 있는 애니메이션 메뉴에 관한 것이 아니라는 것을 알고 있습니다. 개발자는 종종 호출되는 오래된 픽셀, 선, 곡선, 직사각형, 다각형 및 모든 종류의 그래픽 기본 요소의 렌더링 속도를 높여야 합니다.

중요한 예비 참고 사항

"빨간색" 또는 "녹색" 진영의 지지자들이 자료를 읽는 동안 눈을 비비더라도 우리는 기사에 감정적인 의미를 부여하고 싶지 않았습니다. 우리는 테스트 결과를 믿지 않았기 때문에 모든 당사자의 이익을 위해 결과가 최대한 객관적이고 반복 가능하도록 기사를 준비하는 데 추가 시간을 보냈습니다. 또한 비디오 카드를 서로 비교할 수 있는 가장 객관적인 기반을 만들기 위해 노력했습니다. 우리는 한 제조업체 또는 다른 제조업체의 방향을 비난하고 싶지 않았습니다. 이 문서는 컴퓨터를 게임용으로 사용할 뿐만 아니라 PC에서 실제 작업을 수행하는 사용자에게 도움을 주기 위한 것임을 이해하는 것이 중요합니다.

이와 관련하여 오늘날 Windows 7에서 2D 그래픽을 사용하여 생산적으로 작업하는 것이 상당히 어려울 수 있다는 점을 이해하는 것이 중요합니다. 예를 들어 Radeon HD 5870과 최신 드라이버, 그러면 큰 어려움을 겪으면서 우리는 간단한 것을 도출할 수 있었습니다. 벡터 그래픽, 단순하거나 복잡한 CAD 설계 또는 심지어 2D 게임을 플레이할 수도 있습니다. 고품질제도법. 이는 비판이라기보다는 우리가 분석하려고 했던 문제의 한계를 정의하고 문제를 최대한 깊이 이해하려는 시도이다.

이론과 실습

대부분의 사용자는 Windows XP 또는 Windows 7에 내장된 2D 가속 기능과 동작에 대해 알지 못할 가능성이 높기 때문에 매우 심층적인 기사를 두 부분으로 나누기로 결정했습니다. 첫 번째 부분에서는 독자들이 두 번째 부분을 준비할 수 있도록 2D 그래픽에 관한 기술적 세부 사항을 살펴보겠습니다. 귀하는 테스트를 이해할 수 있을 뿐만 아니라 테스트를 더 잘 해석할 수도 있습니다. 테스트를 용이하게 하기 위해 우리는 자체적인 작은 테스트 프로그램도 개발했습니다(그리고 관심 있는 모든 사용자가 기사의 두 번째 부분에서 프로그램을 직접 다운로드하여 사용할 수 있도록 제공했습니다). 우리의 목표는 기사의 두 부분을 최대한 유익하고, 접근 가능하며, 완전하게 만드는 것이었습니다.

다음 섹션에서는 2D 그래픽의 기본 사항을 살펴보겠습니다. 동시에 우리는 이 분야의 일부 기본 사항이 누구에게도 해를 끼치지 않을 것이며 테스트뿐만 아니라 다른 주제를 이해하는 데 유용할 수도 있다고 믿습니다.

Windows: 모든 것이 어떻게 시작되었는지

1985년으로 돌아가 보자. 올해 미하일 고르바초프는 CPSU 중앙위원회의 비서가 되었고, "아마데우스"는 오스카상을 받았습니다. 최고의 영화, 로널드 레이건(Ronald Reagan)이 미국의 제40대 대통령으로 두 번째 임기로 선출되었습니다. 눈치채는 사람은 거의 없었지만 운영체제가 출시된 것은 1985년이었습니다. 마이크로소프트 윈도우 1.0.


서로 다른 영역이 겹치지 않는 경우에도 적은 수의 창이 있는 창입니다. 확대하려면 그림을 클릭하세요.

텍스트 모드 운영 체제 위에 가상 그래픽 인터페이스를 배치한다는 아이디어는 1985년에도 혁명적이지 않았습니다. 실제로 이것은 당시 Microsoft와 Digital Research를 포함한 다양한 회사가 시장 입지를 확장하고 더 많은 잠재 구매자와 사용자가 PC 기술에 더 쉽게 접근할 수 있도록 하기 위해 취한 접근 방식이었습니다. IT 전문가가 아닌 사람이라도 먼저 컴퓨터에 대해 많이 배우지 않고도 사용할 수 있을 정도로 응용 프로그램이 사용자 친화적이라는 아이디어가 있었습니다. 흥미롭게도 Windows 1.0과 달리 Digital Research GEM 다중 사용자 OS는 당시 이미 창 오버레이를 지원했습니다.



Windows가 그 이름에 부응하기 시작한 것은 버전 2부터였습니다. 확대하려면 그림을 클릭하세요.

이미 여러 개의 겹치는 창을 지원하는 Windows 2.0 운영 체제가 1987년에 출시되지 않았다면 오늘날 Microsoft Windows에 대해 아는 사람이 아무도 없을 가능성이 높습니다. 실제로 Windows는 최초 발표 후 첫 2년이 넘도록 생존할 수 있었던 비결은 오늘날 Microsoft에서 여전히 엄청난 영향력을 행사하고 있는 사람인 Steve Ballmer 덕분입니다. Windows 1.0에 대한 그의 홍보는 오늘날에도 여전히 잊혀지지 않습니다. 실제 Windows에 대한 지원이 부족함에도 불구하고 Windows 1.0의 가격을 인상적인 99달러(1985년에는 엄청난 액수)로 터무니없이 책정했기 때문입니다. Steve Ballmer는 정말로 시청자를 사로잡을 수 있었습니다. 그는 마케팅 천재라고 불릴 수 있습니다. 직접 확인해보세요.

스티브 발머(Steve Ballmer)가 Windows를 판매합니다.

버전 2.0 출시 이후 Windows는 후속 릴리스에서 혁신적이지는 않더라도 (적어도) 혁신적인 변경 사항을 제공할 수 있었습니다. 실제로 혁신적인 변화는 회사의 최신 릴리스인 Windows 7에서 해결하고 싶은 문제임이 밝혀졌습니다.

최신 버전은 Windows 초기로 돌아가는 깊은 질문을 제기하는 버전입니다. 그 이유는 간단하고 명백합니다. 윈도우 기술 비교를 통해 우리는 Windows GUI에 두 가지 측면이 있다는 것을 알게 되었습니다. 그래픽 사용자 인터페이스 또는 GUI(우리는 사용자 측의 사용자 정의를 고려하지 않았지만 기본 데스크탑에 중점을 두고 작업했습니다.) 간단한 그래픽 기능, 데스크톱 환경을 만드는 데 사용됩니다. 실제로 창의 내용을 표시하고 이를 사용하여 작업하는 것은 서로 관련되어 있지만 Windows OS의 두 가지 별도 영역입니다. Windows 인터페이스의 모양과 느낌은 계속해서 변화하고 발전해 왔지만 기본이 되는 단순한 2D 그래픽 기능은 시간이 지나도 놀라울 정도로 일관되게 유지되었습니다.

정통한 독자라면 아마도 창 모드 사용자 인터페이스가 더 이상 순수 2D 그래픽에 의존하지 않는다는 사실을 알고 있을 것입니다. 이것이 바로 아래에서 물리적 디스플레이에 대략 3차원으로 표시되는 방식을 고려하여 고려해야 할 작은 2D 그래픽 명령 세트가 있음을 설명하는 이유입니다.

2D 제한: 많은 창문이 있는 하나의 공간


필요한 것은 높이와 너비뿐입니다.

어떤 창에서든 디스플레이를 보면 X와 Y, 즉 너비와 높이라는 두 개의 좌표만 있으면 됩니다. 없어진 물건 있어요? 깊이에 대한 모든 정보.

Windows에서는 2D 그래픽이 GDI(Graphics Device Interface)를 통해 표시됩니다. 이 인터페이스는 모든 프로그래밍 언어를 지원합니다. 높은 레벨 2D 그래픽 개체를 렌더링하는 데 필요한 모든 중요한 그래픽 기능이 포함되어 있습니다. GDI+ 및 Direct2D와 같은 최신 개선 사항은 GDI가 응용 프로그램의 2D 그래픽 출력을 위한 가장 중요한 도구였기 때문에 특별히 중요하지 않습니다. 비판적으로 중요한 기능픽셀, 선, 곡선, 다각형, 직사각형, 타원 등의 출력 - 모두 처음에 CPU에서 계산되었습니다. 비디오 카드의 개발 덕분에 최신 세대의 하드웨어는 더 빠른 2D 계산 및 렌더링을 제공합니다. 이러한 초기 형태의 2D 가속은 오늘날에도 여전히 중요하지만 2D 가속은 더 이상 주요 목표가 아닙니다. 그래픽 성능을 최대한 활용하려면 세 번째 좌표가 필요합니다.

디스플레이 화면의 오버레이 창 아래에 숨겨져 있는 2D 렌더링의 원래 방법은 간단하고 간단합니다. 우리는 두 가지 매개변수를 알아야 합니다. 첫 번째는 변경될 각 창 내부의 화면 영역입니다(따라서 다시 그려야 합니다). 두 번째는 창이나 개체가 서로 겹치는 순서입니다(개체가 완전히 또는 부분적으로 표시되는지, 아니면 다른 창에 의해 가려지는지). 이러한 유형의 정보에는 소위 2.5차원 치수 또는 그래픽 레이어의 사용이 필요하며, 세 번째 좌표가 0(숨김) 또는 1(가시) 값을 가질 때, 즉 일종의 보조 치수 역할을 합니다. 많은 Windows 전문가들이 2.5D 그래픽에 대해 많이 이야기하는 이유도 바로 여기에 있습니다.


Z 값은 창이 겹쳐지거나 구성되는 방식을 보여줍니다.

창의 순서나 가시성이 결정되면 보이는 창의 내용은 순수한 2차원을 사용하여 표시될 수 있습니다. 그래픽 기능. 어쨌든 디스플레이 창의 내용을 완전히 계산하는 것뿐만 아니라 제어하는 ​​것도 필요합니다. 다양한 방식정보 및 창 내용. 예를 들어, 창이 이동되면 어떻게 되나요? 이 작업의 결과로 완전히 또는 부분적으로 열린 영역이 다른 창에 포함되어 있으면 시스템 그래픽 함수 WM_PAINT를 다시 그려야 하는 직사각형 영역에 대한 정확한 정보와 함께 호출해야 합니다. 함수의 최적화된 구현은 이 영역을 재구성하거나 다시 그립니다. 불행하게도 많은 구현에서는 창의 내용을 전체 또는 부분적으로 렌더링해야 하는지에 대한 보다 정확한 지침에 액세스할 수 있음에도 불구하고 전체 창을 다시 그립니다. 이는 결국 그래픽 성능에 영향을 미칩니다. 또 다른 잘 알려진 단점은 2D 하드웨어 가속 기능이 없는 시스템에서 창을 화면 전체로 빠르게 드래그할 때 흐려지거나 중복된다는 것입니다.

하지만 지금까지 우리가 다룬 내용을 요약해 보겠습니다. 디스플레이에는 2D 콘텐츠를 보려면 화면에 렌더링해야 하는 별도의 창이 있습니다. 이러한 창은 원하는 대로 이동할 수 있으며 다른 창에 의해 부분적으로 또는 완전히 가릴 수도 있고 겹쳐질 수도 있습니다. 이러한 모든 창의 표시 콘텐츠는 최소한의 대기 시간으로 제어되고 표시되어야 합니다. 우리는 또한 CPU 자체가 매우 빠른 프로세서라 할지라도 이러한 복잡한 작업을 수행할 때 과부하가 걸릴 수 있다는 것을 알고 있습니다. 이 부하를 비디오 카드로 옮기는 것 외에 어떤 해결책이 있습니까? 여기에는 무엇이 필요합니까? 그리고 왜 실제보다 이론상으로 모든 것이 더 단순하게 들리는 걸까요? 우리는 아래에서 이 모든 것을 살펴볼 것입니다.

2.5D: 2D 하드웨어 가속에 대한 신화

처음에는 2D 작업에만 개별 비디오 카드가 필요했습니다. 오늘날의 개별 그래픽 카드가 복잡한 그래픽 렌더링 작업에 탁월한 성능을 제공한다는 것은 비밀이 아닙니다. 그러나 구형 비디오 카드는 이미 일상 작업에 너무 느립니다. 특히 그래픽 카드에서 볼 수 있는 복잡한 그래픽 렌더링 효과를 표시해야 하는 경우에는 더욱 그렇습니다. 최신 버전윈도우. 반면에 이는 현대 사용자의 그래픽 복잡성으로 인해 발생합니다. Windows 인터페이스, 반면에 - 그래픽 기능이 제한되어 있습니다. 하지만 이러한 구성 요소를 하나씩 이해해 보겠습니다.

안에 이 구역 GDI부터 그래픽 카드 자체까지 기본 그래픽 렌더링과 관련된 2D 그래픽 가속을 살펴보겠습니다. 여기에는 픽셀, 선, 곡선, 다각형, 직사각형 및 타원과 같은 단순한 기하학적 개체와 글꼴의 크기 조정, 렌더링 또는 앤티앨리어싱 작업(예: TrueType 또는 OpenType)이 포함됩니다.

비디오 카드에서 소위 "2D 프리미티브"의 하드웨어 가속에 대한 오랜 지원이 사라졌으며 한동안 소비자 수준 제품에서도 지원되지 않았습니다. 오늘날 2D 그래픽 기능의 가속은 3D 가속과 유사하게 구현되지만 보드에 내장된 하드웨어가 아닌 소프트웨어 그래픽 드라이버에 의해서만 처리됩니다.

시리즈의 두 번째 부분에서는 주요 및 기본 2D 그래픽 기능을 철저하게 테스트하는 2D 그래픽용으로 특별히 개발한 벤치마크를 소개하고 설명합니다. 게다가, 이 테스트는 다음을 보여줍니다. 소프트웨어 드라이버 2D 그래픽에 부정적이고 예측할 수 없는 영향을 미칠 수 있습니다. 또한 9가지 공통 테스트 기준을 제시합니다.


텍스트를 표시합니다.


직사각형.


곡선.

렌더링 기능 변환은 2D 가속의 일부일뿐입니다. 렌더링, 제어 및 표시가 가능한 최신 3D 그래픽 카드를 통해 상당히 긍정적인 가속이 달성됩니다. 그래픽 정보 2.5D 하드웨어.


모든 것이 즉시 표시됩니다.

어떻게 작동하나요? 3D 그래픽의 경우와 마찬가지로 창의 보이는 영역과 숨겨진 영역이 계산되어 전체가 가상 직사각형 영역의 형태로 저장되고 모든 활성 창의 내용이 실시간으로 표시됩니다. 따라서 창을 이동하거나 변경할 때 아무것도 다시 계산할 필요가 없습니다. 마지막 업데이트 이후 변경된 모든 항목과 함께 숨겨져 있었고 현재 표시되는 영역만 다시 그려야 합니다. 비디오 카드는 항상 창으로 알려진 가상 직사각형의 크기와 위치를 알고 있습니다. 비디오 카드는 깊이 버퍼(z 버퍼)를 사용하여 화면에 있는 창이나 개체의 순서와 우선 순위(Z 순서라고도 함)를 추적합니다. 따라서 비디오 카드는 어떤 개체가 표시되는지, 즉 화면 자체에 직접 표시되어야 하는 개체를 자체적으로 결정할 수 있습니다.

이것이 무엇을 의미하는지 간단히 요약해 보겠습니다.

최신 2D 하드웨어 가속에는 두 가지 구현이 모두 포함됩니다. 주요 기능창 및 사용자 인터페이스를 위한 2D 렌더링 및 2.5D 레이어링 기술 구현.

그러나 추가 세부 정보를 찾기 위해 출시된 모든 Windows 버전을 조사하는 것은 너무 번거로운 일입니다. 우리가 확인한 문제는 Windows 7의 테스트 성능에만 영향을 미치기 때문에 테스트를 Windows XP, Vista 및 당연히 Windows 7로 제한했습니다.

Windows XP: "구식" 2D와 WM_PAINT의 한계

Windows XP에 대해 어떻게 생각하는지 말할 수 있지만 GDI 하드웨어 가속은 오늘날까지 완벽하게 작동하며 대부분의 응용 프로그램 유형에 충분합니다. 그러나 XP에서는 2.5D 레이어 작업 기술을 최신 3D 비디오 카드로 이전할 수 없습니다. 위에서 설명한 대로 창 내용의 렌더링은 응용 프로그램 자체에서 수행됩니다.



값비싼 비디오 카드를 구입할 가능성이 없는 일반적인 2D 애플리케이션입니다. 확대하려면 그림을 클릭하세요.

이 제한은 하나의 데스크톱 응용 프로그램 창에 노력을 집중하는 사용자를 방해하지 않을 것입니다. 이 기술의 가장 일반적인 적용은 SDI(단일 장치 인터페이스) 환경에서 볼 수 있습니다. 하지만 데스크톱에 여러 개의 창이 열려 있고 표시되면 상황이 더욱 불편해집니다. 메뉴를 지원하고 최신 하드웨어에서 더 잘 작동하며 여러 모니터에서 여러 창을 사용하여 작업하는 것을 더 쉽게 만드는 향상된 레이어링 기술을 활용하는 것을 누가 꺼리지 않겠습니까? 더 나은 2D 그래픽 성능을 즐기면서 움직이는 창의 흐릿함과 뒤따르는 과거의 일을 만들고 싶지 않은 사람이 어디 있겠습니까?



Windows는 카드 한 벌과 같습니다. XP에서 드래그할 때 창을 복제하는 효과입니다. 확대하려면 그림을 클릭하세요.

벡터에서는 순수 2D 성능을 발휘하지만 그래픽 프로그램 Corel Draw 또는 CAD 응용 프로그램과 같은 는 GDI 기능이 제대로 지원되므로 WM_PAINT의 한계에 부딪혔습니다. XP GUI가 애니메이션, 부드러운 그림자, 투명한 창 및 기타 그래픽 요소로 과부하되면 2D 그래픽의 한계에 접근합니다.



시스템에 과부하가 걸리면 WM_Paint 함수가 중단되거나 가끔씩만 업데이트됩니다. Redraw 이벤트는 차례가 실행될 때까지 기다려야 합니다. 확대하려면 그림을 클릭하세요.

많은 사용자들은 창을 이동할 때 창을 프레임으로만 표시하고 애니메이션 메뉴를 모두 끄는 것이 가장 좋다는 것을 알고 있습니다. 일반적으로 XP 데스크탑에서 작업할 때 그래픽 리소스를 저장하는 것은 완전히 일반적인 접근 방식으로 나타납니다. 불행하게도 OS가 오류나 지연 없이 모든 그래픽을 렌더링하는 기능을 잃기 때문에 많은 아름다운 그래픽 테마가 새로운 운영 체제 출시와 관련된 초기 행복감 이후 쓰레기통에 버려집니다.

Microsoft는 XP를 포함하여 이전 버전의 Windows에 존재했던 2D 그래픽 솔루션을 교체해야 한다는 사실을 재빨리 알아차렸습니다. 더욱 빠른 3D 가속기의 가용성 증가와 개별 GPU 가격 하락은 시대(및 운영 체제)가 변화하고 있음을 분명히 나타냅니다.


2005년 3D 비디오 카드의 전형적인 예: Radeon X1800.

이 시점에서 XP의 하드웨어 가속은 처음에는 기본 해상도에서 ATI 780G 통합 그래픽과 전혀 작동하지 않았다는 점을 기억하는 것이 중요합니다. 결과적으로 창이 느리게 렌더링되어 기본 웹 브라우저 성능에도 영향을 미칩니다. 후속 드라이버 업데이트는 이러한 문제를 해결하는 데 도움이 되었습니다. 그러나 오늘날에도 780G의 그래픽 코어는 최적의 성능을 발휘할 수 없으며 이는 740G와 완전히 대조적입니다. 하지만 XP가 이미 과거의 일이 된 오늘날, 이 판단도 비슷한 운명을 공유해야 할 수도 있습니다...

그런 다음 Windows Vista가 시장에 출시되었습니다. 이는 아마도 Windows ME와 함께 Microsoft의 가장 논란이 많은 OS일 것입니다. 어쨌든 Vista에 대한 여러분의 사랑이나 미움에 관계없이 회사는 일부 기술 개선을 더 이상 미룰 수 없었습니다.

XP의 간략한 요약은 다음과 같습니다.

  • 2D 하드웨어 가속은 GDI 명령에 대해 완벽하게 작동했습니다.
  • 2.5D 레이어에는 하드웨어 가속이 없었기 때문에 사용자 인터페이스가 느려졌습니다.
  • 창의 내용을 반복적으로 다시 그리거나 변경하는 것은 시간이 많이 걸리고 성능에도 영향을 미쳤습니다.

Windows Vista: 이전 버전의 진행 및 포기

Windows Vista를 처음 설치했을 때 우리는 도저히 참을 수가 없었습니다. 흥미롭고 도전적이며 개선된 Vista는 많은 것을 약속했습니다.



빛과 그림자가 많지만 2D 하드웨어 가속은 없습니다. 확대하려면 그림을 클릭하세요.

그러나 언뜻 보면 매우 혁명적으로 보였던 것이 이 응용 프로그램이나 저 응용 프로그램을 시작할 때 실망으로 바뀌었고 때로는 단순히 공포를 불러일으켰습니다. 가장 많이 살펴보자 중요한 기능상세히.

2.5D 레이어의 하드웨어 구현

이 기술은 Windows Vista에서 처음 구현되었습니다. 나오기까지 아주 오랜 시간이 걸렸지만, 2006년에 마침내 기술이 등장했습니다. 그러나 한 가지 작은 제한 사항이 남아 있습니다. Aero 인터페이스가 활성화된 경우에만 작동했습니다. 또한 2.5D 레이어를 지원하려면 3D 애플리케이션이나 게임을 실행할 계획이 없더라도 3D 지원 그래픽 카드가 필요했습니다. Vista 기본 테마를 사용하는 경우, 시스템에 3D 비디오 카드가 있더라도 2.5D 레이어에 대한 지원이 자동으로 비활성화되었기 때문에 XP 사용자에게 익숙한 창을 이동할 때 동일한 흐림 및 고스팅 효과를 참아야 했습니다. 설치되었습니다. 부끄러운 일이다.

2.5D 레이어를 지원하려는 움직임으로 인해 Microsoft는 여러 가지 문제를 처리해야 했습니다. Vista는 느린 운영 체제로 간주되었지만 대부분 안정적이었습니다. 그런데 무슨 일이 일어났나요? 우리는 이미 GDI가 그래픽 프로그래밍의 핵심 인터페이스라고 언급했습니다. (불행하게도) 성능 측면에서 기술적 혁신을 이루지 못한 매우 느린 C++ 기반 GDI+ 확장이 도입된 이후 우리는 더 이상 일종의 "인터페이스 혼란"의 존재를 부정할 수 없었습니다. 실제로 GDI, GDI+, DirectDraw 및 Direct3D가 동시에 하드웨어 가속을 받을 수 있는 가능성은 매우 낮습니다.

새로운 장치 드라이버 모델 외에도 Windows에서는 디스플레이 장치 제어를 위한 DWM 모델을 도입했습니다. 전반적인 개념은 그리 간단하지 않았습니다. 한편으로는 창과 렌더링 명령 사이에, 다른 한편으로는 드라이버와 장치 사이에 소프트웨어 계층(및 그에 따른 복잡성 증가)을 추가했습니다. DWM의 등장으로 직접적인 상호작용이 중단되었습니다. 모든 것에 대한 통제권을 얻기 위해 DWM 모델은 모든 개인의 조정을 보장했습니다. 그래픽 인터페이스. 이러한 전환은 우리가 이미 언급한 다소 심각한 그래픽 기능, 즉 GDI 디스플레이 기능의 하드웨어 가속을 제쳐두었습니다. 이해하기 어렵지만 실제로 그런 일이 일어났습니다.

최대 추가 메모리 Vista가 사용하는 는 일반적으로 SuperFetch 기술이라고 합니다. 불행히도 이는 현실 상황을 부분적으로만 설명하는 것입니다. 하드웨어 2D 가속이 없다는 것은 창 내용을 표시하기 위한 GDI 호출의 전체 부담이 CPU에 있다는 것을 의미합니다. 이 모든 것이 DWM 내부에 거대한 버퍼로 이어집니다. 그런 다음 전체 창 디스플레이를 비디오 카드로 전송해야 합니다. 그러나 한 번에 하나의 창에서만 GDI 명령을 DWM으로 보낼 수 있기 때문에 이로 인해 곧 심각한 병목 현상이 발생했습니다. 비동기 작업이 해결되지 않아 대기 중인 서비스 요청의 대기열이 길어집니다. 이 모든 작업을 실행하려면 상당한 CPU 시간이 필요할 뿐만 아니라 모든 활성 창이 DWM 버퍼 내부에 있기 때문에 상당한 양의 메모리도 소비합니다. 별도의 창문 100MB를 차지할 수 있으므로 메모리 소모가 늘어나는 것은 당연합니다. 가장 극단적인 경우에는 Vista가 정지될 수도 있습니다. 악성코드무한 루프에서 창을 하나씩 엽니다. 물론 이 주기가 무한정 지속될 수는 없으므로 시스템 제어권을 다시 얻으려면 컴퓨터를 강제로 종료해야 합니다.



메모리 소비를 두 배로 늘려도 즐거움이 두 배는 아닙니다(출처: Microsoft). 확대하려면 그림을 클릭하세요.

비스타를 요약해보자.

  • Vista는 2.5D 레이어 모델에 처음으로 하드웨어 가속을 사용합니다.
  • Active Aero 기술을 사용하면 느린 Windows 창 다시 그리기는 더 이상 과거의 일이 됩니다.
  • Microsoft는 GDI의 2D 렌더링 기능의 하드웨어 가속에서 멀어지고 있습니다.
  • DWM은 다음의 창에서 작동할 수 없습니다. 비동기 모드이는 그래픽 성능에 부정적인 영향을 미칩니다.
  • DWM 내부의 GDI 명령 큐는 많은 양의 메모리를 사용할 수 있습니다.

Windows 7: 탕자의 귀환


많은 사용자들의 관심을 끌었던 Windows 7 로고.

많은 사용자는 Vista를 실패한 OS로 여겼습니다. 문자 그대로 메모리를 "먹어버린" 괴물로 인식되었습니다. 어쨌든 이 운영 체제는 Windows 7 출시를 고려하여 다시 살펴볼 필요가 있었습니다. 시스템 자체의 근본적인 변화와 함께 Windows 7 그래픽은 Vista가 가져간 기능, 즉 GDI를 포함한 모든 영역에서 무제한 2D 그래픽 가속을 제공했습니다. 렌더링 기능 .

WDDM 1.1로의 전환 덕분에 Windows 7에서는 이중 메모리 사용을 방지했습니다(첫 번째는 개별 버퍼, 두 번째는 각각 버퍼). 활성 창 DWM에서). 이를 통해 보다 적절한 리소스 요구 사항으로 시스템을 더욱 단순하게 만들 수 있었습니다. Windows Vista에서 Windows의 두 배로 늘어난 메모리 소비는 시스템 메모리가 그토록 무자비하게 소비되는 이유를 설명할 수 있습니다.


Vista의 경우 OS는 얻을 수 있는 모든 메모리를 "먹습니다"... (출처: Microsoft).



...하지만 Windows 7의 경우 요구 사항이 더 적습니다(출처: Microsoft).

Windows 7에서 GDI를 보완하기 위해 Direct2D도 발표되었습니다. 이 인터페이스는 Direct3D와 유사한 명령 변환을 사용하여 하드웨어 가속을 구현하고 보다 복잡한 그래픽 기능 세트를 지원합니다. Direct2D는 그런 식으로 작동하지 않았던 GDI+의 고급 기능과 함께 GDI의 속도 이점을 제공합니다. 그러나 Direct2D가 개발자로부터 지원을 받을 수 있는지 여부는 아직 확인되지 않았습니다.

오늘날에도 대다수의 프로그램은 여전히 ​​GDI API를 사용하여 2D 그래픽 요소를 렌더링하고 조작합니다. 우리는 Windows 7에서 Vista가 포기한 이러한 명령에 대한 하드웨어 가속을 다시 가져온 점이 마음에 들었습니다.



Windows 7의 비동기 GDI(출처: Microsoft). 확대하려면 그림을 클릭하세요.


여러 창을 동시에 작업할 때 거의 완벽한 크기 조정(출처: Microsoft)

Windows 7에 대해 간략하게 요약해 보겠습니다.

  • DWM을 통해 GDI 렌더링 명령을 그래픽 드라이버로 직접 리디렉션합니다.
  • 여러 창에 대한 GDI 명령의 비동기 및 동시 처리.
  • 그래픽 요청 대기열에 과도한 메모리 사용을 방지하는 전략입니다.
  • 새롭게 개선된 WDDM 1.1 드라이버.

GPU 제조업체 요구 사항

2D 그래픽 하드웨어 가속의 복귀로 인해 GPU 제조업체가 다시 게임에 참여하게 되었습니다. Windows 7용 드라이버는 2D GDI 가속 명령에 대한 하드웨어 가속을 제공하고 개별 창의 2.5D 계층 작업을 지원하도록 특별히 제작되어야 합니다.

일부 비디오 카드의 경우 이는 매우 어려운 것으로 나타났습니다. 예를 들어, 현재 세대의 ATI 그래픽 카드는 2D 그래픽 가속의 모든 영역에서 드라이버 관련 문제로 어려움을 겪고 있는 것 같습니다. 아래에서 우리가 이러한 문제를 발견한 방법과 우리가 도달한 결론에 대해 읽어보실 수 있습니다.

Windows 7: Radeon HD 5000 그래픽 카드 제품군에는 2D 가속 기능이 부족합니다.

AMD는 개발에 많은 노력을 기울였습니다. DirectX 비디오 카드 11 최신 세대; 소프트웨어 측면을 마무리하는 데 시간이 걸리는 것은 당연합니다. (후속 드라이버 릴리스가 많은 사람들에 의해 성능과 안정성을 향상시킨다는 것은 비밀이 아닙니다.) 다른 방법들). 2D 그래픽을 사용할 때 회사의 GeForce 드라이버에서 유사한 문제를 발견했기 때문에 이 문제에서 nVidia를 무시할 수 없습니다. 모바일 프로세서회사. 이 기사에서는 테스트 당시 Catalyst 드라이버의 최신 버전인 9.12를 사용했습니다.



Catalyst와 Windows 7은 험난한 바다를 항해하고 있습니다. 확대하려면 그림을 클릭하세요.

문제 1: ATIKMDAG가 응답을 멈췄다가 복구되었습니다.

이와 같은 오류 메시지가 표시되면 3D 응용 프로그램을 종료한 후 2D 모드로 다시 전환했기 때문일 수 있습니다. 우리는 이것이 드라이버의 오류로 인한 결과라고 가정할 수밖에 없었습니다.

다시 한번 말씀드리겠습니다. Aero 인터페이스가 꺼지면 DWM이 비활성화되므로 2D 가속이 더 이상 발생하지 않습니다. 즉, Windows 7에서도 Vista와 동일한 결과가 나타납니다. Radeon HD 5750 및 Radeon HD 5870 그래픽 카드가 설치된 시스템에서(두 개의 서로 다른 시스템에서) 이 오류가 계속해서 발생했기 때문입니다. 테스트 구성), 두 경우 모두 Aero 인터페이스를 의도적으로 비활성화해야 했습니다. 이러한 조작 후에는 오류가 더 이상 나타나지 않았습니다. 흥미롭게도 우리는 GeForce 비디오 카드가 장착된 노트북에서 정확히 동일한 상황(및 솔루션)을 발견했습니다. 물론 이것이 단지 우연의 일치인지 아니면 DWM, 드라이버 및 2D 그래픽 하드웨어 가속 간의 충돌을 나타내는 것인지는 시간이 지나서야 알 수 있습니다.

다음 주요 용의자는 2D 모드에서 AMD 비디오 카드의 상대적으로 낮은 기본 주파수와 비디오 카드 초기 BIOS의 일부 문제로 밝혀졌습니다. 그러나 그들의 영향력을 확인하거나 반박하려면 출시 이후에 장기적인 관찰이 필요합니다. 새로운 버전운전자의 행동이 바뀌어야 합니다.

Radeon HD 5870이 2D 그래픽을 지원하도록 하는 데 즉시 어려움을 겪었기 때문에 이 문제가 발생했습니다. 물론 많은 사람들은 3D 지도가 2D 애플리케이션이 아닌 게임용으로 생성된다는 점을 덧붙일 수도 있습니다. 그러나 기사의 이전 섹션을 읽으면 이 문제가 Windows Vista가 아닌 Windows 7 릴리스에서만 심각해졌다는 점을 인정해야 합니다. 좀 더 구체적으로 말하자면, 요즘 대부분의 3D 그래픽 카드는 아무런 문제 없이 2D 그래픽을 처리할 수 있습니다. 하지만 2D 가속 지원을 직접 비교하면 지포스 GTX 285와 Radeon HD 5870으로 인해 AMD 비디오 카드가 외부인이라는 사실이 밝혀졌습니다. 실제로 자체 메모리가 없는 통합 그래픽 솔루션 nVidia GeForce 7050(nForce 610i)과 비교할 때 새로운 Radeons는 2위에 불과합니다.

DWM이 꺼지면 상황이 더욱 흥미로워집니다. 에 있어도 이 경우 2D 가속은 더 이상 가능하지 않습니다. AMD 비디오 카드는 성능 향상을 제공합니다. 비교 엔비디아 지포스, DWM이 비활성화된 AMD 비디오 카드를 실행하면 성능이 향상됩니다. CorelDraw와 AutoCAD도 DWM이 꺼진 Radeon HD 5870에서 눈에 띄게 빠르게 실행됩니다. 이는 nVidia를 유리한 입장에 놓이게 하며 GPU 데이터를 테스트하는 논리와 이전 경험을 모두 무시합니다.


Aero 인터페이스와 DWM이 활성화된 2D 하드웨어 가속은 GeForce 비디오 카드에 이점을 제공합니다.


Aero 및 하드웨어 가속이 없으면 AMD 2D 그래픽 카드는 최대 5배 더 빠릅니다. 충격적인!

이러한 이유로 우리는 이 비디오 카드에 대해 PassMark 테스트를 여러 번 반복했습니다.


Aero 인터페이스와 DWM이 비활성화되었습니다. AMD 비디오 카드가 눈에 띄게 빠릅니다. 확대하려면 그림을 클릭하세요.

불행하게도 이러한 테스트 중 어느 것도 우리가 직면한 문제의 정확한 원인을 찾을 수 없었으며 이상한 성능 결과를 밝힐 수도 없었습니다. 이것이 바로 우리가 자체 테스트를 만들기로 결정한 이유이며, 이를 통해 확인된 문제의 원인을 더 잘 이해할 수 있었습니다.

Tom2D 벤치마크: Windows 7에서 Radeon HD 5870과 GeForce GTX 285 비교

새로운 테스트를 통해 우리는 최근 Radeon HD 5870, 5850 및 5750 그래픽 카드에서 발견한 2D 성능 저하의 근본 원인을 더 깊이 파고들기를 희망합니다. Windows 7에서 GDI 기능의 2D 가속이 Radeon HD 5000 라인의 어떤 모델에서도 분명히 작동하지 않았다는 사실부터 시작하겠습니다. 즉, 심각한 속도 저하 이상의 문제에 직면해 있습니다. 문제는 무엇입니까? 드라이버에 있습니까, 아니면 하드웨어에 있습니까? nVidia의 경우 모든 것이 잘 된 것은 아닙니다. 이 회사의 비디오 카드에서 가능한 모든 기능이 가속화되지는 않았습니다.

테스트 구성
CPU Intel Core 2 Quad Q6600, 2.4GHz @ 3.2GHz, G0 스테핑, 8MB L2 캐시, LGA 775
메모리 4GB DDR2-1066 CL5
마더보드 A-데이터 비테스타 익스트림
운영 체제 윈도우 7 얼티밋 x64
비디오 카드 라데온 HD 5870, 지포스 GTX 285
그래픽 드라이버 촉매 9.12, 지포스 195.62
비디오 카드 Aero/DWM이 활성화된 경우의 클럭 속도 가속 없는 클록 속도
ATI 라데온 HD 5870 850MHz 157MHz
엔비디아 지포스 GTX 285 648MHz 300MHz

2D 가속 켜짐/꺼짐 비교를 위한 보다 강력한 기반을 마련하기 위해 우리는 통합 GeForce 7050 그래픽(전용 메모리 없음)을 갖춘 구형 nForce 610i 칩셋에서도 모든 테스트를 실행했습니다. 동일한 프로세서와 4GB 메모리를 설치하고 동일한 운영 체제를 사용했습니다. 윈도우 시스템 7. 또한 테스트 플랫폼에서 Radeon HD5870의 이전 버전인 ATI Radeon HD 4870의 성능을 테스트했습니다.


이 테스트에서 모든 테스트 비디오 카드는 좁은 성능 범위에 속합니다.

차이가 아주 미미하더라도 통합 GPU가 GeForce GTX 285보다 더 빠르게 2D 그래픽을 렌더링하는 이유에 대한 NVidia의 의견을 듣는 것은 흥미로울 것입니다.

비교를 위해 가져온 Radeon HD 4870 비디오 카드는 특별한 단점은 없지만 아래쪽에서 세 번째에 있습니다.


놀랍게도 Radeon HD 5870 그래픽 카드는 허용 가능한 성능으로 하드웨어 가속 라인을 출력할 수 없습니다.

nVidia와 AMD 테스트 카드는 모두 2D 가속을 끄고 CPU가 모든 작업을 수행한 상태에서 허용 가능하고 상대적으로 비슷한 결과를 얻었지만 Aero가 활성화되면 두 카드 사이에 상당한 격차가 생깁니다. GeForce GTX 285는 ATI Radeon HD 5870보다 11배 빠릅니다. 더 나쁜 것은 통합 GPU입니다. 마더보드 2년 전 50달러짜리 가격은 400달러짜리 비디오 카드보다 훨씬 낫습니다.

Radeon HD 4870에 대해 얻은 데이터는 활성 제품과 활성 제품 간의 차이가 거의 없음을 보여줍니다. 에어로 모드그리고 Windows 7의 단순 모드(그래픽 가속 없음)는 Windows 7에서 선 그리기에 가속이 없음을 나타냅니다. 이 비디오 카드는 GeForce GTX 285 및 통합 그래픽 솔루션보다 눈에 띄게 느렸지만 여전히 Radeon을 능가합니다. 가속을 켜고 끄는 HD 5870입니다.


이 테스트는 선 그리기 테스트와 거의 동일한 그림을 제공합니다. Radeon HD 5870이 맨 아래에 나타나 2D 애플리케이션을 제대로 처리하지 못한다는 의혹을 확인시켜줍니다. 이는 소비자 시장에서도 도저히 용납할 수 없는 수준이다.

Aero를 활성화하고 DWM을 활성화하면 GeForce GTX 285는 최대 9배 빠른 성능을 제공합니다. 마찬가지로 기존 통합 칩셋 코어도 새로운 AMD 그래픽 카드보다 성능이 훨씬 뛰어납니다. 그건 그렇고, Radeon HD 4870의 성능은 매우 흥미로운 것으로 나타났습니다. 비디오 카드는 두 nVidia 솔루션에 비해 성능이 저하 되더라도 하드웨어의 곡선 출력을 가속화할 수 있습니다.


Radeon HD 5870에는 선 렌더링(특히 풍부한 스트로크)에 분명한 문제가 있었기 때문에 직사각형 테스트 결과의 절반이 이전 결과와 일치한다는 것을 알 수 있습니다. 이는 놀라운 일이 아닙니다.

어쨌든 Radeon HD 5870이 하드웨어 가속을 활성화한 경우(하드웨어 가속이 비활성화된 경우와 비교하여) 성능이 GeForce 7050 GPU보다 약간 떨어지더라도 어떻게 성능이 두 배로 향상되는지 보는 것은 매우 흥미롭습니다.

직사각형 테스트는 ATI 비디오 카드에서 하드웨어 가속을 활성화하는 눈에 띄는 효과를 발견하고 하드웨어 가속이 그 이름에 걸 맞는 유일한 테스트였습니다. Radeon HD 4870은 이 비부스트 테스트에서 다른 카드보다 뒤처졌음에도 불구하고 5870보다 이 효과로부터 더 많은 이점을 얻었습니다.


이 경우 기존 통합 그래픽 코어에 승리가 부여됩니다. Nvidia nForce 610i는 놀라울 정도로 큰 차이로 다른 모든 개별 비디오 카드보다 성능이 뛰어나며 활성 2D 가속과 함께 사용하든 비활성으로 사용하든 상관없습니다. 두 가지 상위 3D 비디오 카드 모두 다각형 출력 가속이 전혀 작동하지 않는다는 점이 흥미롭습니다.

Aero가 활성화된 통합 그래픽 코어는 Radeon HD 5870보다 10배 빠릅니다. 가속이 없으면 Radeon HD 4870은 5870보다 약간 느립니다. 그러나 Aero를 활성화하면 4870은 5870보다 2배 이상 빠른 성능을 발휘합니다.


결과는 위에서 본 것과 유사합니다. 두 고급 그래픽 카드 모두 통합 칩셋과 달리 2D 가속을 제공하지 않습니다. Radeon HD 5870 비디오 카드는 아웃사이더가 되고 기존 Radeon HD 4870은 중간 어딘가에 위치합니다.

덧셈

5870에 영향을 미치는 일부 문제를 완화한 Radeon HD 5750을 사용할 때 비슷한 결과를 보았습니다. 또한 Catalyst 9.11 및 9.12 드라이버를 비교한 결과에서 업그레이드할 때 눈에 띄는 성능 향상을 발견했습니다. 구 버전하드웨어 가속 활성화 여부에 관계없이 새 것으로 전환합니다. 다음 비교는 측정입니다. 윈도우 성능 7 및 Vista에 대한 내용이 있지만 기사의 두 번째 부분까지 그대로 두겠습니다. 여기에서도 테스트 중에 많은 놀라움을 발견했다고만 말하면 충분합니다.

결론

현재 상황에 대한 분석에 따르면 ATI Radeon HD 5000 제품군의 새 비디오 카드에는 2D 그래픽 문제가 발생하고 있습니다. 우리는 또한 일부 영역(AMD 및 nVidia 개별 그래픽 카드 모두에 대해)에서 기존 통합 칩셋이 더 빠르다는 점에 대해 상당히 우려하고 있습니다. 또한 벡터 그래픽을 사용하는 프로그램 작업에 적합한 솔루션을 찾을 수 없었습니다. 이는 테스트에만 적용되는 것이 아닙니다. 이는 정기적으로 2D 그래픽으로 작업하는 모든 사람에게 적용됩니다. 솔직히 말해서 기존 Radeon HD 4870 비디오 카드가 어떻게 새 비디오 카드에 근접하거나 심지어 능가할 수 있는지 상상하기는 매우 어렵습니다. 대량테스트.

2D 가속(2.5D 레이어 포함)은 잘 작동하지만 AMD는 아직 Radeon HD 5000 그래픽 카드 라인에 일부 기본 GDI 기능을 구현하지 않았습니다.Windows 7 초기 릴리스 이후 여러 드라이버 릴리스가 통과되었으므로 상황은 어려울 것입니다. 새로운 비디오 카드를 구입하기 위해 수백 달러를 지출했지만 동시에 2D 응용 프로그램에서 "브레이크"를 받은 사람들을 이해하기 위한 것입니다. 또한 이 모든 것이 합성 2D 테스트뿐만 아니라 다양한 테스트에도 적용된다는 점을 상기시켜야 합니다. 실제 응용, AutoCAD, Corel Draw, Adobe Illustrator, Photoshop CS3/CS4, Microsoft Publisher, PowerPoint 등을 포함하여 테스트에 사용됩니다. 이를 위해서는 AMD 측의 드라이버에 대한 긴급하고 심각한 개선이 필요합니다. 특히 Vista에서의 결과는 Windows 7에서보다 훨씬 더 높은 성능을 보여주기 때문입니다(이에 대해서는 기사의 두 번째 부분에서 설명하겠습니다).

이 기사를 준비하고 테스트하는 동안 우리는 AMD의 기술 PR 관리자인 Antal Tungler에게 여러 번 전화하여 Windows 7에서 Radeon HD 5000 라인의 2D 성능에 대해 논의했습니다. 데스크톱의 Windows에서 작동하는 거의 모든 프로그램이 경험하는 GDI 문제로 인해 이러한 상황은 특히 가정 및 사무실 사용자의 경우 더 이상 용납할 수 없는 것처럼 보였습니다. 또한 경쟁사의 통합 그래픽 GPU는 2D 그래픽을 보다 효율적으로 처리했습니다.

우리는 원인과 가능한 해결책이 Catalyst 드라이버에 있다고 가정하고 희망할 뿐입니다. 그렇다면 AMD는 문제를 아주 쉽게 해결할 수 있을 것입니다. 고려하면 최근 출시된 저렴한 비디오 카드, 문제가 전체 라인에 영향을 미친다고 가정할 수 있습니다. 그러나 테스트 결과를 고려할 때 우리가 더 걱정하는 것은 직사각형은 눈에 띄게 속도가 향상되는 반면 다른 모든 그래픽 기본 요소(특히 선과 곡선)는 그렇지 않다는 것입니다. GPU 하드웨어 가속이 활성화되면 성능이 심각하게 저하되는 것을 볼 수 있습니다. 이는 여기서 좋은 일이 일어나지 않음을 의미합니다. 이산형 nVidia 비디오 카드타원과 다각형을 렌더링할 때도 지연이 발생하는데, 왜 이런 일이 발생하는지 알고 싶습니다.

현재로서는 Radeon HD 5000 비디오 카드 제품군 사용자가 2D 그래픽을 집중적으로 사용하는 프로그램으로 작업할 때 Aero 인터페이스를 비활성화하는 것이 좋습니다. 이 경우 생산성 향상은 최대 300%에 달할 수 있어 아름답고 투명한 창틀의 부족함을 쉽게 보완할 수 있습니다. 또한 시작 프로그램에 대해서만 Aero를 비활성화할 수 있으므로 Aero 인터페이스를 완전히 포기할 필요가 없습니다.

프로그램 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음 나타나는 메뉴에서 "속성"을 선택합니다. 속성 창에서 "호환성" 탭을 선택한 후 "바탕 화면 구성 사용 안 함" 확인란을 선택합니다.


"데스크탑 구성 비활성화"를 선택하면 DWM 지원이 비활성화됩니다.

두 번째 부분에서는 AMD 비디오 카드의 기능을 다시 테스트하고 이를 nVidia의 직간접 경쟁사와 비교해 보겠습니다. 그동안 우리는 초기 테스트 결과를 논의하기 위해 AMD 및 Nvidia와 대화를 나눌 것입니다. 우리는 그들이 말하는 것을 알고 싶습니다.

동료들과 이 주제에 대해 집중적으로 논의한 후, 우리는 XP, Vista 및 Windows 7에서 다양한 하드웨어에 대해 더 심층적인 테스트를 수행하기로 결정했습니다. 우리의 목표는 더 깊은 이해를 찾는 것입니다. 그래픽 기능이 모든 운영 체제의 2D입니다. 우리는 구형 S3 그래픽 카드, Voodoo, 수많은 구형 GeForce 모델 및 전체 AMD/ATI 그래픽 카드 제품군을 살펴볼 계획입니다. 전반적으로 우리는 테스트에 다양한 마더보드의 통합 그래픽 코어를 포함하여 아무것도 남기고 싶지 않습니다.

우리는 이 과정에서 몇 가지를 발견하게 될 것이라는 것을 이미 알고 있습니다. 흥미로운 순간, 그리고 많은 실망감을 안겨줍니다. 기사의 두 번째 부분에서는 테스트에 대한 보다 정확한 설명, 테스트 결과 등급을 제공하고 Tom2D Benchmark를 직접 다운로드할 수 있는 기회도 제공합니다. 특히 어떤 소비자급 그래픽 카드가 특정 Windows 버전에 대해 더 나은 2D 그래픽 성능을 제공하는지 알아내면 이것이 매우 흥미로울 것이라고 확신합니다. 놀라움이 여러분을 기다리고 있으니 계속 지켜봐 주시기 바랍니다!

업데이트. 예비 2D 성능 결과를 살펴보면서 AMD는 다음과 같은 가정을 했습니다.

  • Tom's Hardware는 아직 최적화되지 않은 영역(2D 라인 등)을 측정했습니다.
  • 이 새로운 테스트 전에는 같은 방식으로 다른 애플리케이션 병목 현상을 본 적이 없었기 때문에 이전에는 이에 집중하지 않았습니다.
  • 초기 분석에 따르면 이 영역에는 하드웨어 제한이 없는 것으로 나타났습니다.
  • 우리 드라이버 개발팀에 이 분야에도 최적화를 요청하고, 제시하도록 노력하겠습니다. 새 드라이버가능한 한 빨리 문제를 해결하기 위해.
  • 우리는 성능을 심각하게 향상시킬 수 있는 간단한 방법을 이미 찾았으며 Catalyst 드라이버의 향후 버전에서 이를 구현하려고 노력할 것입니다(코드를 작성하고 검증해야 하며 다른 것이 중단되지 않는지 확인해야 합니다. 등.).

Google 개발자 Diana Hackborn은 자신의 Google+ 페이지에서 Android 4.0 인터페이스의 하드웨어 가속에 대한 정보를 공유했습니다. 아이스크림샌드위치. 이 기능에 대한 흥분은 단지 그 뿐만이 아닙니다. 다른 모바일 운영 체제와 비교하여 Android에서 2D 요소 렌더링의 부드러움에 대해 너무 많은 비난이 있었습니다.

물론 안드로이드의 하드웨어 가속은 긍정적인 점이지만 실제로 이 기능이 무엇인지에 대해서는 많은 오해가 있습니다. 첫째, Android는 여러 창을 렌더링하는 작업을 위해 수년 동안 하드웨어 가속을 지원해 왔습니다(작업 표시줄, 알림, 메뉴 표시줄, 인터페이스 요소 표시 및 숨기기 등 창 구성에 대해 이야기하고 있습니다). 이는 Android 인터페이스 요소의 모든 애니메이션이 항상 하드웨어 가속을 사용했음을 의미합니다.

창 구성 렌더링과 달리 창 내부의 이미지 렌더링은 전통적으로 Android 2.X 이하의 프로세서를 사용하여 수행되었습니다. 그러나 Android 3.0 Honeycomb에서는 이러한 기능을 그래픽 가속기로 전송할 수 있지만 이 옵션이 애플리케이션 매니페스트에 명시적으로 지정된 경우에만 가능합니다. 안드로이드:hardwareAccelerated=”true”. Android 4.0 ICS와의 유일한 차이점은 사용 가능한 최신 API 레벨 14(및 향후 모든 레벨)를 사용하여 개발할 때 애플리케이션에 대한 이 옵션이 "기본적으로" 활성화된다는 것입니다.

이제 Android 4.0 ICS의 모든 애플리케이션이 매니페스트에 관계없이 하드웨어 가속이 활성화된 상태에서 작동하도록 "강제"할 수 있는 기능이 있는 것 같습니다. 정말 훌륭하지 않습니까? 실제로 이것은 사실이 아닙니다. 예를 들어 PowerVR 비디오 가속기의 경우 Nexus S와 Galaxy Nexus에서 사용되는 드라이버는 각각 8MB를 차지합니다. 랜덤 액세스 메모리하드웨어 가속을 사용하는 각 프로세스에 대해. 별거 아닌 것 같은데? 한 번에 많은 프로세스에서 RAM을 적극적으로 소비하면 일반적으로 메모리 소비가 크게 증가하여 멀티 태스킹 속도에 즉시 영향을 미치며 속도가 크게 느려질 수 있기 때문입니다. 그 결과 팀은 구글 개발자지금은 상당한 노력을 기울이고 있습니다 미세 조정 Nexus S에서 실제로 하드웨어 가속이 필요한 사용자 인터페이스 부분은 무엇인가요?

최종 결과는 무엇입니까? Android 2.X에 비해 Ice Cream Sandwich에는 더 많은 하드웨어 가속 사용을 포함하여 더 많은 기능이 있습니다. 그러나 기본적으로 활성화되는 것 외에 ICS의 하드웨어 가속 사용은 이전보다 더 "완전"하지 않습니다. 그리고 무엇보다도 하드웨어 가속은 많은 사람들이 믿는 것처럼 마술이나 기적이 아니지만 그 존재는 확실히 마이너스가 아니라 플러스라는 점을 잊지 마십시오.

Diana Hackborn과 Will Verduzco(xda-developers.com)의 Google+ 자료를 기반으로 합니다.

다른 인기 운영체제와 마찬가지로 Android에도 비밀이 있습니다. 그 중 일부는 유용하지만 거의 사용되지 않습니다. 잘 알려지지 않았지만 흥미로운 안드로이드의 비밀에 대해 알려드리겠습니다.

기본적으로 안드로이드의 비밀에 관해서라면 많은 사람들이 주변 사람들이 모두 알고 있는 몇 가지 기능에 대해 이야기합니다. 우리는 스마트폰과 태블릿의 일반적인 기능을 다루지 않도록 노력할 것입니다.

엔지니어링 코드

첫 번째, 가장 중요한 비밀은 엔지니어링 코드. 일반 사용자유용하지 않을 것 같습니다. 주로 서비스 센터 직원이 장치에 대해 알아내거나 시스템 명령을 실행해야 할 때 사용됩니다.

*#*#4636#*#* - 정보 및 설정;

*#*#8351#*#* - 전화 대화 녹음을 활성화합니다.

*#*#4636#*#* - 장치에 대한 유용한 데이터를 제공합니다.

  • 전화에 대해서;
  • 배터리에 대해;
  • 통계 및 전화 및 배터리 사용량.

*#*#7780#*#* - 스마트폰이나 태블릿을 포맷하지만 시스템이나 다운로드 여부에 관계없이 모든 애플리케이션은 그대로 유지됩니다. 외부 SD 카드의 모든 파일도 그대로 유지됩니다.

*2767*3855# - 장치를 완전히 포맷합니다.

*#*#34971539#*#* - 카메라 펌웨어를 제어하고 관련 정보를 얻을 수 있습니다. 코드를 입력한 후 다음을 선택할 수 있습니다.

  • 카메라 펌웨어를 이미지로 업데이트합니다(어떠한 경우에도 이 작업을 수행하지 마십시오!).
  • 카메라 펌웨어 업데이트;
  • 카메라 펌웨어 데이터;
  • 이전에 수행된 카메라 펌웨어 업데이트 수.

*#*#7594#*#* - 전원 버튼을 오랫동안 눌러 기능을 변경할 수 있습니다. 즉, 가젯을 끄거나 다시 시작하고, 모바일 데이터를 켜거나 끄는 등의 작업을 할당할 수 있습니다.

*#*#273283*255*663 282*#*#* - 다음을 수행할 수 있습니다. 지원장치의 모든 파일

*#*#197328640#*#* - 유지 관리 메뉴를 엽니다. 가젯을 테스트하고 WLAN, Bluetooth 및 GPS 설정도 변경할 수 있습니다.

*#*#232339#*#* 또는 *#*#526#*#* 또는 *#*#528#*#* - WLAN 설정;

*#*#232338#*#* - Wi-FI MAC 주소를 찾는 데 도움이 됩니다.

*#*#1472365#*#* - GPS 시스템 테스트;

*#*#1575#*#* - GPS;

*#*#232331#*#* - 블루투스;

*#*#232337#*# - 블루투스 주소를 찾는 데 도움이 됩니다.

테스트용 코드

그들은 장치에서 다양한 테스트를 실행합니다.

*#*#0283#*#* - 전송 인프라 테스트;

*#*#0*#*#* - 화면(LCD);

*#*#0673#*#* 또는 *#*#0289#*#* - 소리;

*#*#0842#*#* - 장치(백라이트 및 진동);

*#*#2663#*#* - 센서;

*#*#2664#*#* - 또 다른 센서 테스트;

*#*#0588#*#* - 모션 센서;

*#*#3264#*#* - RAM.

개발자 모드

이제 "개발자 모드"에 대해 이야기하겠습니다. 이 항목은 이미 설정에서 보신 적이 있으실 텐데요, 이제 좀 더 자세히 살펴보겠습니다. 이 모드활성화하다 추가 기능, 이는 필요하지 않을 것입니다. 일상 생활. 주로 개발자와 프로그래머가 사용합니다.

먼저 개발자 모드를 활성화해야 합니다. 설정으로 이동하여 맨 아래로 스크롤하십시오. "기기 정보" 항목을 찾아 여러 번 연속으로 클릭합니다. 가젯에서 개발자 모드를 잠금 해제하려면 확인이 필요합니다. 확인을 클릭하세요.


이제 우리는 신중하게 사용해야 하는 다양한 옵션에 액세스할 수 있습니다! 스마트폰 자체에서 경고하는 시스템 오류가 발생할 수 있습니다. 이 모드의 모든 기능은 아래에 제시되고 설명됩니다.

  • 백업 비밀번호. 다른 사람이 휴대폰의 모든 파일을 백업하는 것을 원하지 않는 경우(예: 모든 데이터를 장치에 다운로드한 후) 사용할 비밀번호를 설정하세요.
  • 활성 모드. 스마트폰이 충전 중인 경우에는 꺼지지 않습니다(물론 끄지 않는 한).
  • SD 메모리 카드를 보호하세요. 모든 프로그램은 메모리 카드의 데이터를 사용할 수 있는 권한을 요청합니다. 예를 들어, 바이러스가 작동하는 것을 방지할 수 있습니다.
  • 가젯과 PC 간에 상호 작용하려면 USB 디버깅이 필요합니다.
  • 위치 에뮬레이트 위치를 에뮬레이트합니다.
  • 디버깅 중인 애플리케이션을 선택합니다.
  • 디버거를 기다립니다. 디버거가 연결되면 위에 지정된 애플리케이션이 열립니다.
  • 터치를 표시합니다. 화면을 터치한 위치를 보여주는 매우 흥미로운 기능입니다. 매우 유용한 점은 기사에서 설명한 것처럼 화면 터치를 표시하고 지침의 스크린샷을 찍는 데 사용할 수 있기 때문입니다.
  • 포인터 위치를 표시합니다. 출력 자세한 정보화면을 터치하고 슬라이딩하는 방법(X 및 Y별 위치 등)


  • 레이아웃 제약 조건을 표시합니다. 화면에서 각 요소의 크기를 볼 수 있는 흥미로운 기능입니다.

  • GPU 보기 업데이트를 표시합니다. GPU가 제공하는 Windows가 깜박입니다.
  • 화면 업데이트를 표시합니다. 업데이트 중인 화면 영역이 밝은 노란색으로 깜박입니다.
  • 애니메이션 설정. 창 애니메이션 배율, 전환 애니메이션 배율 및 장치 지속 시간 배율이 포함됩니다. 비활성화하면 많은 도움이 됩니다.
  • 하드웨어 합성 비활성화 - 화면 구성에는 항상 GPU를 사용하십시오.
  • GPU 처리를 강제합니다. 애플리케이션에서 2D 하드웨어 가속을 사용합니다.
  • 엄격한 정권. 프로세스가 메인 스레드에서 장기 실행 작업을 수행하는 경우 화면이 깜박입니다.
  • CPU 사용량 표시 - 오른쪽 상단에 CPU 사용량 정보가 표시됩니다.

  • GPU 처리 프로필은 ASDG의 처리 시간을 측정한 것입니다.
  • 추적을 활성화합니다. 그래픽, 입력, 보기 등 다양한 추적이 포함됩니다.
  • 거래를 저장하지 마십시오. 사용자가 작업을 완료한 후 작업을 삭제합니다.
  • 백그라운드 프로세스. 백그라운드 프로세스 수를 1개에서 4개까지 제한할 수 있습니다.
  • 모든 ANR을 표시합니다. 백그라운드 프로세스에 대해 "애플리케이션이 응답하지 않습니다" 창을 표시합니다.