>  기사  >  백엔드 개발  >  게임에서 redux는 무엇을 의미하나요?

게임에서 redux는 무엇을 의미하나요?

(*-*)浩
(*-*)浩원래의
2019-05-14 14:32:4410124검색

내가 만난 게임 미들웨어---Redux, Redux에 대하여:

추천 강좌: C# tutorial.

게임에서 redux는 무엇을 의미하나요?

Substance Redux는 텍스처 생성 및 압축에 특별히 사용되는 텍스처 처리 소프트웨어와 미들웨어입니다. 사용자 가이드에 따르면 텍스처 세트를 최적화하고 기존 압축 알고리즘의 성능을 50% 이상 향상시킬 수 있습니다. 압축 방법은 무손실 압축과 무손실 압축이 있습니다. 압축 중에 압축률과 이미지 품질을 사용자가 맞춤 설정할 수 있습니다.

Redux는 배치 텍스처 파일을 압축하고 패키징할 수 있습니다. 작업 프로세스는 새 프로젝트 프로젝트를 만들고, 프로젝트에 대한 여러 텍스처 파일을 가져오고, 각 텍스처의 압축 매개변수를 설정하는 것입니다. 마지막으로 압축 파일을 내보냅니다. Redux는 다양한 형식의 이미지 파일을 압축할 수 있습니다. 입력 이미지의 길이와 너비가 2의 N 거듭제곱이 아닌 경우 Redux는 자동으로 이를 2의 N 거듭제곱으로 늘립니다. ReduxSDK에서 제공하는 Demo에는 압축된 파일을 DDS 형식으로 압축 해제하는 기능이 있습니다.

Redux의 가장 큰 장점은 이미지 생성 기능입니다. 여러 가지 간단한 그래픽 요소를 사용하여 알고리즘을 통해 복잡한 이미지를 생성할 수 있습니다. 그래픽 요소는 적은 양의 디스크 공간만 차지하면 됩니다. 생성 방법이 절약됩니다. 공식 설명에 따르면 게임의 디스크 공간 중 가장 큰 부분은 텍스처입니다. Redux를 사용하면 텍스처가 차지하는 디스크 공간을 최소한으로 줄여 크기를 줄일 수 있습니다. 게임 출시 패키지는 최대 2개입니다.

2개. Redux 압축 방법

Redux는 3가지 텍스처 압축 방법을 제공합니다.

Redux 모드 1(Redux 모드 1)은 대부분의 경우 압축 비율이 가장 작은 무손실 압축 알고리즘입니다. 그러나 일반적으로 가장 빠르게 렌더링됩니다.

Redux 모드 2(Redux mode 2)는 고품질의 이미지를 제공하는 빠른 압축 알고리즘이지만 크기 감소율은 약 40%입니다.

Redux 모드 3은 이미지 품질과 크기 감소율 간의 대략적인 균형을 달성합니다. 이미지 품질은 모드 2보다 낮지만 이 모드를 사용하면 더 높은 압축률을 얻을 수 있습니다. 크기 감소율은 약 60%입니다.

실제 작업에서 300개의 DDS 파일을 압축해본 결과 Redux 모드 2와 Redux 모드 3에서 생성되는 파일 크기가 동일한 것을 확인했습니다. 당시에는 이러한 DDS 파일의 특정 압축 형식에 관심이 없었습니다. 아마도 대부분이 DXT5였을 것입니다.

3. Redux 압축 파일

Redux는 주로 배치 텍스처 파일을 압축합니다. 압축 파일은 두 가지 범주로 나뉩니다. 기본 데이터 파일의 디렉터리를 포함하고 압축 해제 코드에 각 텍스처의 위치를 ​​제공하는 "헤더" 파일입니다. 이 파일은 .RDXH 확장자를 가지며 텍스처 이름, 폴더 및 경로와 같은 각 텍스처에 대한 세부 정보를 저장합니다. 실제 압축된 텍스처를 포함하고 확장자가 .RDXC인 하나 이상의 "데이터" 파일입니다. 두 번째 유형의 파일은 "블록"에 있습니다. 하나의 데이터 "청크"만 처리하면 되도록 모든 텍스처를 하나의 큰 파일에 저장할 수 있습니다. 내보낸 압축된 "청크" 파일에는

1의 세 가지 설정이 있습니다. 청크 없음 - 프로젝트의 각 개별 텍스처를 포함하는 대용량 데이터 파일입니다. 크기 제한에 따라 분할(크기 제한에 따라 청크 분할) - 예를 들어 데이터 4MB마다 새 청크를 생성합니다.

3 콘텐츠에 따라 청크 분할(콘텐츠에 따라 블록 분할) - 즉, 각 텍스처에 대해 새 블록을 만듭니다. 이때 헤더 파일과 여러 개의 청크 파일이 생성됩니다.

압축파일 생성 후 원본 텍스처 파일에 변경사항이 있는 경우 압축파일을 다시 생성해야 합니다. 이런 종류의 압축은 내 생각에 맞지 않습니다. 내가 원하는 것은 텍스처 이름으로 압축된 파일을 찾고, 파일을 로드하고, 압축을 풀고 텍스처를 생성하는 것입니다. Redux를 사용하는 경우 엔진은 먼저 .RDXH 헤더 파일을 로드하고 Redux에서 정의한 ReduxHandle 개체를 생성해야 합니다. 그런 다음 텍스처 이름에 따라 텍스처 첨자 인덱스를 찾은 다음 Redux에서 제공하는 인터페이스를 사용하여 인덱스 값을 통해 텍스처 데이터를 얻습니다. 생성된 압축 파일에 하나의 텍스처가 포함되도록 텍스처 파일이 하나만 포함된 Redux 프로젝트를 만듭니다. 이는 매우 번거롭고 많은 작업이 필요합니다.

넷. Redux 압축해제

ReduxSDK에서 제공하는 데모는 압축된 파일을 DDS 형식에 맞는 데이터로 압축해제합니다. 먼저 300개의 DDS 파일을 사용하여 테스트합니다. 원본 파일 크기는 59.6M이며, RAR로 압축하면 25.9M 크기가 됩니다. 당시 DDS의 압축형식은 기록되지 않았으며, 대부분의 파일이 DXT5인 것으로 추정됩니다. 🎜#동기화된 텍스처 생성 시간 1

동기적 텍스처 생성 시간 2 # 🎜🎜#6172ms# 🎜🎜 #Redux 모드1

Uncompressed
59.6M
2355ms# 🎜🎜#

#🎜 🎜#6133ms

무손실 압축
19.5M
743ms
25016ms
24985ms

Redux 모드2

40% 감소

17. M
702ms
25862ms
25860 ms

Redux 모드3

50% ​​​​감소

17.3M
674ms
25878 ms
25911ms

Redux 모드1

무손실 압축

텍스처 당 Chunk

20.6M

813ms

(이제 ReduxHandle을 생성할 차례입니다)

29027ms
29089ms

300개의 텍스처를 생성하기 위해 로컬 파일을 로드하는 데 소요되는 시간 필요한 시간은 약 8초이며, Redux 파일의 압축을 풀어 300개의 텍스처를 생성하는 데 30초 이상이 소요되며, 이는 로컬로 로드하는 것보다 4배 더 오래 걸립니다.

다양한 크기의 파일의 경우 텍스처를 생성하는 데 사용되는 시간은 다음 표에 표시됩니다.

1024*10242048*2048

다섯. 이미지 생성 기능

은 몇 가지 간단한 그래픽 요소를 사용하여 알고리즘을 통해 복잡한 이미지를 생성합니다. 여기서 가장 큰 문제는 예술이 이러한 그리기 방식에 적응할 수 없다는 것입니다. 일반적인 상황에서는 예술이 PS와 Redux에서 그림을 그리는 데 사용됩니다. 예술가는 분석적 방법을 사용하여 그림이 얼마나 많은 그래픽 요소로 구성되어 있는지 상상한 다음 그래픽 요소의 조합을 디자인해야 합니다. 사진을 만들기 위해 제공되는 소프트웨어를 효율적으로 사용하세요. 이러한 이유로 이 미들웨어는 결국 사용되지 않았습니다.

6. 소프트웨어 문제

(1) 프로젝트 속성 설정 시, 모드2와 모드3에서 생성되는 압축 파일을 동일하게 설정하세요.

(2) 단일 텍스처에 대한 압축 설정의 Redux Mode3는 프로젝트 속성의 Mode3과 다릅니다.

Redux Mode2 설정과 Redux Mode3 설정에는 차이가 없습니다.

(3) 일부 텍스처 파일의 경우 압축된 데이터 크기가 처리되지 않은 데이터 크기보다 큽니다.

원본 DDS 파일 크기는 6.475KB, 압축 크기는 6.682KB입니다.

원본 DDS 파일 크기는 57.6KB, 압축 크기는 140.9KB입니다.

(4) 손실 압축을 사용하면 일부 텍스처가 분명히 나타납니다. 얼룩덜룩.

(5) 당시 제가 사용하고 있던 버전은 텍스처 수가 너무 많으면 소프트웨어가 충돌하는 원인이 되었습니다.

(6) Redux 스레드는 안전하지 않으므로 여러 텍스처를 동시에 압축 해제할 수 없습니다.

세븐. Redux Postscript

Redux에 대한 개인적인 느낌은 이 미들웨어가 매우 이상하다는 것입니다. 현재 개발에서는 하드 디스크 크기도 문제가 되지 않으며, 메모리 소모도 문제가 되지 않습니다. 효율성을 높이기 위해서는, 우리는 시간을 교환하는 공간 알고리즘을 자주 사용합니다. Redux는 시간을 공간으로 교환하는 것뿐입니다. 위 자료는 제가 2~3년 전에 작성한 것입니다. 현재 Redux는 어떻게 개발되고 있는지, 시중에 얼마나 많은 게임이 사용되는지는 잘 모르겠습니다. Google에서 검색해봐도 이에 대한 웹페이지가 많지 않습니다. , 모바일 단말기의 디스크 공간은 이제 모바일 게임보다 큽니다.

텍스처 크기
파일 크기
엔진 로딩 생성 시간
Redux Mode1 생성 시간
Redux Mode2 생성 시간
Redux Mode3 생성 시간
128*128
11K
1ms
105ms
31ms
3 0ms
256* 256ㅋㅋㅋ K
49ms
206ms
140ms
137ms

1025K
176ms
297ms
418ms
415 ms

5462K
242ms
2263ms
2265ms
2294ms

위 내용은 게임에서 redux는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.