문제

... 나는 몇 가지 이론을 연구하고 있지만 다른 의견을 듣고 싶습니다.

이것은 세 개의 다른 기계, 다른 두 개의 리눅스에서 검증되었습니다. 사용 된 컴파일러는 FlexBuild (아마도 MXMLC) 및 MXMLC와의 개미입니다.

우리 추가 작은 독립형 단일 .as 파일 프로젝트 및 컴파일 된 SWF 파일 크기는 Linux 상자에서 32k에서 12k로 20k로 줄어 듭니다. Windows 상자에서 27K에서 8.5K까지 약간 다릅니다.

맞춤형 도구를 사용하여 두 버전 모두 기본 SWF 압축, 대규모 추가 메타 데이터 없음을 사용하고 있음을 확인했습니다. 개미 빌드 스크립트에 대한 유일한 수정은 다음과 같습니다. 추가하다 빌드에 대한 SWC 파일.

코드 제거 (가져 오기 제거, 가변 제거, NADA), 추가 및 매우 간단한 것, 스테이지에 추가 된 몇 가지 구성 요소, 활성화, 몇 가지 작은 기능 등, 루프가 수정되지 않음, 명백한 것은 없습니다. 코드가 줄어 듭니다.

소스 컨트롤을 사용하여 이전 버전을 빌드하면 여전히 더 큰 파일이 발생하므로 라이브러리 나 컴파일러에서 변경되지 않은 것으로 보입니다.

코드 중 어느 것도 Flex 구성 요소를 사용하지 않으며 직선 "Flash.etc ..."유형 가져 오기.

이런 행동을 본 사람이 있습니까? 당신은 이것을 원인이 될 수 있다고 생각하십니까?

도움이 되었습니까?

해결책

이 동작을 전에 .NET 어셈블리에서 보았습니다.

이 동작에 대한 나의 추측은 (어디에서나) 추가되는 모든 것이 컴파일러가 이전보다 더 최적화 할 수 있다는 것입니다.

그것이 왜 내가 가지고있는 것보다 컴파일러의 내부 작업에 대한 훨씬 더 자세한 지식이 필요할 수 있는지 (그리고 이것이 실제로 발생하는 이유 - 실제로 여기서 원인이라면, 당신의 경우에, 아마도 Adobe에 의해 충분히 적절하게 설명 될 수 있습니다. 엔지니어).

다른 팁

나는 단지 추측하고 있지만,이 작은 파일에 관해서는, 당신은 하드 드라이브 부문의 여유를보고 있습니까?

첫 번째 직감은 첫 번째 SWF가 디버그 모드로 컴파일되어 많은 정보를 추가 한 것입니다. 그렇지 않다면 두 번째는 -optipize = true로 컴파일 된 것으로 추측합니다.

그러나 그 중 어느 것도 그렇지 않다면 실제로 매우 흥미로운!

나는 이전에도 같은 행동을 보았습니다. 나는 그것이 최적화와 압축의 두 가지 요소의 조합이라고 가정합니다. 새 코드를 사용하면 Optimizer가 다른 방식으로 작업을 수행 할 수 있습니다 (또는 직접적으로, 이전에했던 어떤 종류의 인라인 또는 루프를 방해하지 않음). 모든 플래시 파일이 압축되어 압축하는 데 더 효율적이기 때문에 추가 데이터가 제시되어 압축 후보가 될 가능성이 더 높다고 말하고 싶습니다. 두 이론 모두 단지 반 교육 된 추측입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top