Cocos2d-x 3 계에서 Android NDK 빌드를 병렬로 가서 빌드 시간 단축
3071 단어 cocos2d-x
ぃ tp // 이 m/d_에 시야마 85/이고 ms/945365아 d6385c0f81f9f
Cocos2d-x 3 계에서는 위의 기사에서는 대응할 수 없기 때문에 이번 다시 써 보겠습니다. 동작 확인은 3.2에서 실시하고 있습니다.
하고 싶은 일
요점은 C++의 소스를 컴파일 하는 명령인 ndk-build 에 병렬 하는 프로세스의 수를
nkd-build -j 7
와 같이 옵션으로서 건네주면 된다고 하는 이야기입니다. 또한, 지정하는 수를 머신의 코어수 이상으로 해 버리면 컴파일에 모든 CPU 리소스를 사용해 버리기 때문에, 머신이 상당히 무거워져 버려, OS의 조작 자체도 하기 어렵게 되어 버립니다. 지정하는 수는 최대이지만 (코어 수 - 1)을 추천합니다.cocos 명령의 경우
Cocos2d-x 3계에서 Android의 빌드는 커멘드 라인에서는
cocos
커멘드로 실시한다고 생각합니다:cocos compile -p android
이
cocos
명령에는 사용중인 컴퓨터의 CPU 코어 수를 가져 와서이 옵션을 자동으로 추가하는 기능이 내장되어 있지만 파이썬의 외부 라이브러리 numpy에 의존하기 때문에 , 반드시 움직이는 것은 아닙니다.내 환경 (OSX, Mavericks)에서는 numpy가 들어 있지 않았기 때문에 코어 수를 얻을 수 없어 1 프로세스로 컴파일되었습니다.
대책으로서 numpy 를 인스톨 하면 됩니다만, 여러 사정으로 할 수 없다 or 하고 싶지 않다, 라고 하는 사람은 이하와 같이 합시다.
병렬 수를 옵션으로 명시적으로 전달
cocos compile -h
에서 도움말을 보면 -j N
또는 --jobs N
(N은 숫자)로 병렬 수를 전달할 수 있음을 알 수 있습니다.이제 numpy없이 병렬 빌드를 할 수 있습니다.
cocos compile -p android -j 7
Eclipse의 경우
Eclipse 실행 버튼으로 빌드하는 경우에는
cocos
명령과는 다른 빌드 스크립트가 사용됩니다.Eclipse 프로젝트를 마우스 오른쪽 버튼으로 클릭 → 등록 정보 → C/C++ 빌드 → 빌더 설정에 빌드 명령이 작성되었습니다.
이것을 보면, proj.android 는 이하에 있는 build_native.py 라는 스크립트가 사용되는 것 같습니다.
이 스크립트의 도움말을 보면
-n
라는 옵션에 계속해서 쓰면 ndk-build
따라서 Eclipse 빌드 명령의 설정에
-n -j7
등으로 추가하면 됩니다. (Eclipse 스크린샷 참조)
python ${ProjDirPath}/build_native.py -b debug -n -j7
추기: build_native.py 의 옵션에 관해서는 -j 와 7 의 사이에 스페이스를 넣으면 7 가 인식되지 않고, 프로세스가 무한하게 생성되어 빌드가 폭주하는, 라고 하는 상황이 되어 있었습니다. 수정합니다.
Reference
이 문제에 관하여(Cocos2d-x 3 계에서 Android NDK 빌드를 병렬로 가서 빌드 시간 단축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/d_nishiyama85/items/5e95ce048e5ee60bfa72텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)