From e3fe24f98db4f8fac561d74ef1a9f690dcbf0b4b Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Mon, 22 Apr 2019 15:22:17 +0800 Subject: [PATCH 1/9] add optimization for OPPO. --- cocos/2d/CCScene.cpp | 9 +++++++++ cocos/2d/CCScene.h | 9 +++++++++ cocos/platform/CCApplicationProtocol.h | 7 +++++++ cocos/platform/CCPlatformMacros.h | 9 +++++++++ .../platform/android/CCApplication-android.cpp | 4 ++++ cocos/platform/android/CCApplication-android.h | 6 ++++++ cocos/platform/android/java/libs/oppoSDK.jar | Bin 0 -> 10612 bytes .../src/org/cocos2dx/lib/Cocos2dxHelper.java | 7 +++++++ cocos/platform/android/javaactivity-android.cpp | 4 ++++ cocos/renderer/CCGLProgramCache.cpp | 4 +++- 10 files changed, 58 insertions(+), 1 deletion(-) create mode 100755 cocos/platform/android/java/libs/oppoSDK.jar diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index 419483851c3d..e9872d39a251 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -34,6 +34,7 @@ THE SOFTWARE. #include "base/ccUTF8.h" #include "renderer/CCRenderer.h" #include "renderer/CCFrameBuffer.h" +#include "platform/CCApplication.h" #if CC_USE_PHYSICS #include "physics/CCPhysicsWorld.h" @@ -76,6 +77,14 @@ Scene::Scene() _event->retain(); Camera::_visitingCamera = nullptr; + + CC_OPTIMIZE_MASK("load_scene", 1); +} + +void Scene::onEnter() +{ + Node::onEnter(); + CC_OPTIMIZE_MASK("load_scene", 0); } Scene::~Scene() diff --git a/cocos/2d/CCScene.h b/cocos/2d/CCScene.h index 41e5c05d3632..bf10ed524e5e 100644 --- a/cocos/2d/CCScene.h +++ b/cocos/2d/CCScene.h @@ -126,6 +126,15 @@ class CC_DLL Scene : public Node /** override function */ virtual void removeAllChildren() override; + /** + * Event callback that is invoked every time when Node enters the 'stage'. + * If the Node enters the 'stage' with a transition, this event is called when the transition starts. + * During onEnter you can't access a "sister/brother" node. + * If you override onEnter, you shall call its parent's one, e.g., Node::onEnter(). + * @lua NA + */ + virtual void onEnter() override; + CC_CONSTRUCTOR_ACCESS: Scene(); virtual ~Scene(); diff --git a/cocos/platform/CCApplicationProtocol.h b/cocos/platform/CCApplicationProtocol.h index 8cc7bf0863c0..61ac3665bf37 100644 --- a/cocos/platform/CCApplicationProtocol.h +++ b/cocos/platform/CCApplicationProtocol.h @@ -149,6 +149,13 @@ class CC_DLL ApplicationProtocol * @lua NA */ virtual bool openURL(const std::string &url) = 0; + + /** + @brief send optimization codes for devices. + * @js NA + * @lua NA + */ + virtual void setOptimise(const char* name, const float value) {}; }; // end of platform group diff --git a/cocos/platform/CCPlatformMacros.h b/cocos/platform/CCPlatformMacros.h index d28c6035c7d2..59f79cd4eee6 100644 --- a/cocos/platform/CCPlatformMacros.h +++ b/cocos/platform/CCPlatformMacros.h @@ -79,6 +79,15 @@ CC_DEPRECATED_ATTRIBUTE static __TYPE__* node() \ } \ } +/** @def CC_OPTIMIZE_ITEM + * enable optimization for OPPO. + */ +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) +#define CC_OPTIMIZE_MASK(name, value) Application::getInstance()->setOptimise(name, value) +#else +#define CC_OPTIMIZE_MASK(itemName, itemValue) do{}while(0) +#endif + /** @def CC_ENABLE_CACHE_TEXTURE_DATA * Enable it if you want to cache the texture data. * Not enabling for Emscripten any more -- doesn't seem necessary and don't want diff --git a/cocos/platform/android/CCApplication-android.cpp b/cocos/platform/android/CCApplication-android.cpp index da71a1ba542f..8a3706305889 100644 --- a/cocos/platform/android/CCApplication-android.cpp +++ b/cocos/platform/android/CCApplication-android.cpp @@ -131,6 +131,10 @@ void Application::applicationScreenSizeChanged(int newWidth, int newHeight) { } +void Application::setOptimise(const char* name, const float value) { + JniHelper::callStaticVoidMethod(helperClassName, "setOptimise", name, value); +} + NS_CC_END #endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID diff --git a/cocos/platform/android/CCApplication-android.h b/cocos/platform/android/CCApplication-android.h index c2278ce95825..de735b21cd50 100644 --- a/cocos/platform/android/CCApplication-android.h +++ b/cocos/platform/android/CCApplication-android.h @@ -104,6 +104,12 @@ class CC_DLL Application : public ApplicationProtocol */ virtual void applicationScreenSizeChanged(int newWidth, int newHeight); + /** + @brief send optimization codes for devices. + * @js NA + * @lua NA + */ + virtual void setOptimise(const char* name, const float value) override; protected: static Application * sm_pSharedApplication; }; diff --git a/cocos/platform/android/java/libs/oppoSDK.jar b/cocos/platform/android/java/libs/oppoSDK.jar new file mode 100755 index 0000000000000000000000000000000000000000..57290236d0c7f716468fa4f2e77d24985e04993e GIT binary patch literal 10612 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

CG^F%8aLjE8?S5cuV*7avI73yKhy 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 P%-iMs=7xu)zn}gW(4X{b literal 0 HcmV?d00001 diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java index a86c566a2585..06c3e5954d31 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java @@ -73,6 +73,7 @@ of this software and associated documentation files (the "Software"), to deal import java.util.Map; import java.util.Set; +import com.oppo.oiface.engine.OifaceGameEngineManager; public class Cocos2dxHelper { // =========================================================== @@ -880,4 +881,10 @@ private static Cocos2dxSound getSound() { return sCocos2dSound; } + + public static void setOptimise(String thing, float value){ + String jsonStr = "{\"" + thing + "\":" + String.valueOf(value) + "}"; + Log.e(TAG, "updateGameEngineInfo:" + jsonStr); + OifaceGameEngineManager.getInstance().updateGameEngineInfo(jsonStr); + } } diff --git a/cocos/platform/android/javaactivity-android.cpp b/cocos/platform/android/javaactivity-android.cpp index 0ddbf34bdbc6..89d9026d065d 100644 --- a/cocos/platform/android/javaactivity-android.cpp +++ b/cocos/platform/android/javaactivity-android.cpp @@ -38,6 +38,7 @@ THE SOFTWARE. #include "2d/CCDrawingPrimitives.h" #include "platform/android/jni/JniHelper.h" #include "network/CCDownloader-android.h" +#include #include #include #include @@ -86,6 +87,9 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) JNIEXPORT void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h) { + CC_OPTIMIZE_MASK("render_pid", getpid()); + CC_OPTIMIZE_MASK("buffer_size", w * h); + auto director = cocos2d::Director::getInstance(); auto glview = director->getOpenGLView(); if (!glview) diff --git a/cocos/renderer/CCGLProgramCache.cpp b/cocos/renderer/CCGLProgramCache.cpp index 928ddf5197e2..c71b29eec87f 100644 --- a/cocos/renderer/CCGLProgramCache.cpp +++ b/cocos/renderer/CCGLProgramCache.cpp @@ -35,6 +35,7 @@ THE SOFTWARE. #include "base/CCEventListenerCustom.h" #include "base/CCDirector.h" #include "base/CCEventDispatcher.h" +#include "platform/CCApplication.h" NS_CC_BEGIN @@ -127,6 +128,7 @@ GLProgramCache::~GLProgramCache() bool GLProgramCache::init() { + CC_OPTIMIZE_MASK("shader_compile", 1); loadDefaultGLPrograms(); auto listener = EventListenerCustom::create(Configuration::CONFIG_FILE_LOADED, [this](EventCustom* /*event*/){ @@ -134,7 +136,7 @@ bool GLProgramCache::init() }); Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, -1); - + CC_OPTIMIZE_MASK("shader_compile", 0); return true; } From 597ebfe4f61d52d90b12e2b8c9c57371aecda6bc Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Tue, 23 Apr 2019 18:16:32 +0800 Subject: [PATCH 2/9] udate oppo sdk. --- cocos/2d/CCScene.cpp | 11 ++- cocos/Android.mk | 1 + cocos/platform/CCApplicationProtocol.h | 7 -- cocos/platform/CCDataManager.cpp | 67 +++++++++++++++++++ cocos/platform/CCDataManager.h | 56 ++++++++++++++++ cocos/platform/CCPlatformMacros.h | 9 --- cocos/platform/CMakeLists.txt | 1 + .../android/CCApplication-android.cpp | 4 -- .../platform/android/CCApplication-android.h | 6 -- .../org/cocos2dx/lib/Cocos2dxDataManager.java | 56 ++++++++++++++++ .../src/org/cocos2dx/lib/Cocos2dxHelper.java | 7 -- .../platform/android/javaactivity-android.cpp | 5 +- cocos/renderer/CCGLProgramCache.cpp | 12 ++-- 13 files changed, 200 insertions(+), 42 deletions(-) create mode 100644 cocos/platform/CCDataManager.cpp create mode 100644 cocos/platform/CCDataManager.h create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index e9872d39a251..5a3bb2b614f9 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -34,7 +34,7 @@ THE SOFTWARE. #include "base/ccUTF8.h" #include "renderer/CCRenderer.h" #include "renderer/CCFrameBuffer.h" -#include "platform/CCApplication.h" +#include "platform/CCDataManager.h" #if CC_USE_PHYSICS #include "physics/CCPhysicsWorld.h" @@ -78,13 +78,18 @@ Scene::Scene() Camera::_visitingCamera = nullptr; - CC_OPTIMIZE_MASK("load_scene", 1); +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + DataManager::onSecneEnter(); +#endif } void Scene::onEnter() { Node::onEnter(); - CC_OPTIMIZE_MASK("load_scene", 0); + +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + DataManager::onSceneExit(); +#endif } Scene::~Scene() diff --git a/cocos/Android.mk b/cocos/Android.mk index 29cd06ec9bef..4dfb82d45c3c 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -89,6 +89,7 @@ cocos2d.cpp \ 2d/CCAutoPolygon.cpp \ 3d/CCFrustum.cpp \ 3d/CCPlane.cpp \ +platform/CCDataManager.cpp \ platform/CCFileUtils.cpp \ platform/CCGLView.cpp \ platform/CCImage.cpp \ diff --git a/cocos/platform/CCApplicationProtocol.h b/cocos/platform/CCApplicationProtocol.h index 61ac3665bf37..8cc7bf0863c0 100644 --- a/cocos/platform/CCApplicationProtocol.h +++ b/cocos/platform/CCApplicationProtocol.h @@ -149,13 +149,6 @@ class CC_DLL ApplicationProtocol * @lua NA */ virtual bool openURL(const std::string &url) = 0; - - /** - @brief send optimization codes for devices. - * @js NA - * @lua NA - */ - virtual void setOptimise(const char* name, const float value) {}; }; // end of platform group diff --git a/cocos/platform/CCDataManager.cpp b/cocos/platform/CCDataManager.cpp new file mode 100644 index 000000000000..5d4ed2f714ca --- /dev/null +++ b/cocos/platform/CCDataManager.cpp @@ -0,0 +1,67 @@ +/**************************************************************************** +Copyright (c) 2010-2012 cocos2d-x.org +Copyright (c) 2013-2016 Chukong Technologies Inc. +Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ + +#include "platform/CCDataManager.h" + +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID +# include "platform/android/jni/JniHelper.h" +# define DataManagerClassName "org/cocos2dx/lib/Cocos2dxDataManager" +#endif + +NS_CC_BEGIN + +void DataManager::setProcessID(int pid){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "setProcessID", pid); +#endif +} +void DataManager::setFrameSize(int width, int height){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "setFrameSize", width, height); +#endif +} +void DataManager::onSecneEnter(){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "onSecneEnter"); +#endif +} +void DataManager::onSceneExit(){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "onSceneExit"); +#endif +} +void DataManager::onShaderLoaderBegin(){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "onShaderLoaderBegin"); +#endif +} +void DataManager::onShaderLoaderEnd(){ +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + JniHelper::callStaticVoidMethod(DataManagerClassName, "onShaderLoaderEnd"); +#endif +} + +NS_CC_END diff --git a/cocos/platform/CCDataManager.h b/cocos/platform/CCDataManager.h new file mode 100644 index 000000000000..7e33f445624c --- /dev/null +++ b/cocos/platform/CCDataManager.h @@ -0,0 +1,56 @@ +/**************************************************************************** +Copyright (c) 2010-2012 cocos2d-x.org +Copyright (c) 2013-2016 Chukong Technologies Inc. +Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ + +#ifndef __CC_DataManager_H__ +#define __CC_DataManager_H__ + +#include "platform/CCPlatformMacros.h" +#include "base/ccTypes.h" + +NS_CC_BEGIN + +/** + * @addtogroup platform + * @{ + */ + +class CC_DLL DataManager +{ +public: + static void setProcessID(int pid); + static void setFrameSize(int width, int height); + static void onSecneEnter(); + static void onSceneExit(); + static void onShaderLoaderBegin(); + static void onShaderLoaderEnd(); +}; + +// end of platform group +/** @} */ + +NS_CC_END + +#endif // __CC_DataManager_H__ diff --git a/cocos/platform/CCPlatformMacros.h b/cocos/platform/CCPlatformMacros.h index 59f79cd4eee6..d28c6035c7d2 100644 --- a/cocos/platform/CCPlatformMacros.h +++ b/cocos/platform/CCPlatformMacros.h @@ -79,15 +79,6 @@ CC_DEPRECATED_ATTRIBUTE static __TYPE__* node() \ } \ } -/** @def CC_OPTIMIZE_ITEM - * enable optimization for OPPO. - */ -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) -#define CC_OPTIMIZE_MASK(name, value) Application::getInstance()->setOptimise(name, value) -#else -#define CC_OPTIMIZE_MASK(itemName, itemValue) do{}while(0) -#endif - /** @def CC_ENABLE_CACHE_TEXTURE_DATA * Enable it if you want to cache the texture data. * Not enabling for Emscripten any more -- doesn't seem necessary and don't want diff --git a/cocos/platform/CMakeLists.txt b/cocos/platform/CMakeLists.txt index 14a43d3f53ec..e57756472e61 100644 --- a/cocos/platform/CMakeLists.txt +++ b/cocos/platform/CMakeLists.txt @@ -157,6 +157,7 @@ set(COCOS_PLATFORM_HEADER set(COCOS_PLATFORM_SRC ${COCOS_PLATFORM_SPECIFIC_SRC} + platform/CCDataManager.cpp platform/CCSAXParser.cpp platform/CCThread.cpp platform/CCGLView.cpp diff --git a/cocos/platform/android/CCApplication-android.cpp b/cocos/platform/android/CCApplication-android.cpp index 8a3706305889..da71a1ba542f 100644 --- a/cocos/platform/android/CCApplication-android.cpp +++ b/cocos/platform/android/CCApplication-android.cpp @@ -131,10 +131,6 @@ void Application::applicationScreenSizeChanged(int newWidth, int newHeight) { } -void Application::setOptimise(const char* name, const float value) { - JniHelper::callStaticVoidMethod(helperClassName, "setOptimise", name, value); -} - NS_CC_END #endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID diff --git a/cocos/platform/android/CCApplication-android.h b/cocos/platform/android/CCApplication-android.h index de735b21cd50..c2278ce95825 100644 --- a/cocos/platform/android/CCApplication-android.h +++ b/cocos/platform/android/CCApplication-android.h @@ -104,12 +104,6 @@ class CC_DLL Application : public ApplicationProtocol */ virtual void applicationScreenSizeChanged(int newWidth, int newHeight); - /** - @brief send optimization codes for devices. - * @js NA - * @lua NA - */ - virtual void setOptimise(const char* name, const float value) override; protected: static Application * sm_pSharedApplication; }; diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java new file mode 100644 index 000000000000..e911532fdd7e --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java @@ -0,0 +1,56 @@ +/**************************************************************************** +Copyright (c) 2010-2012 cocos2d-x.org +Copyright (c) 2013-2016 Chukong Technologies Inc. +Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + ****************************************************************************/ + +package org.cocos2dx.lib; +import android.util.Log; + +import com.oppo.oiface.engine.OifaceGameEngineManager; + +public class Cocos2dxDataManager { + public static void setOptimise(String thing, float value){ + String jsonStr = "{\"" + thing + "\":" + String.valueOf(value) + "}"; + OifaceGameEngineManager.getInstance().updateGameEngineInfo(jsonStr); + } + + public static void setProcessID(int pid){ + setOptimise("render_pid", pid); + } + public static void setFrameSize(int width, int height){ + setOptimise("buffer_size", width * height); + } + public static void onSecneEnter(){ + setOptimise("load_scene", 1); + } + public static void onSceneExit(){ + setOptimise("load_scene", 0); + } + public static void onShaderLoaderBegin(){ + setOptimise("shader_compile", 1); + } + public static void onShaderLoaderEnd(){ + setOptimise("shader_compile", 0); + } +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java index 06c3e5954d31..a86c566a2585 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java @@ -73,7 +73,6 @@ of this software and associated documentation files (the "Software"), to deal import java.util.Map; import java.util.Set; -import com.oppo.oiface.engine.OifaceGameEngineManager; public class Cocos2dxHelper { // =========================================================== @@ -881,10 +880,4 @@ private static Cocos2dxSound getSound() { return sCocos2dSound; } - - public static void setOptimise(String thing, float value){ - String jsonStr = "{\"" + thing + "\":" + String.valueOf(value) + "}"; - Log.e(TAG, "updateGameEngineInfo:" + jsonStr); - OifaceGameEngineManager.getInstance().updateGameEngineInfo(jsonStr); - } } diff --git a/cocos/platform/android/javaactivity-android.cpp b/cocos/platform/android/javaactivity-android.cpp index 89d9026d065d..98fe8263880f 100644 --- a/cocos/platform/android/javaactivity-android.cpp +++ b/cocos/platform/android/javaactivity-android.cpp @@ -37,6 +37,7 @@ THE SOFTWARE. #include "renderer/ccGLStateCache.h" #include "2d/CCDrawingPrimitives.h" #include "platform/android/jni/JniHelper.h" +#include "platform/CCDataManager.h" #include "network/CCDownloader-android.h" #include #include @@ -87,8 +88,8 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) JNIEXPORT void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h) { - CC_OPTIMIZE_MASK("render_pid", getpid()); - CC_OPTIMIZE_MASK("buffer_size", w * h); + DataManager::setProcessID(getpid()); + DataManager::setFrameSize(w, h); auto director = cocos2d::Director::getInstance(); auto glview = director->getOpenGLView(); diff --git a/cocos/renderer/CCGLProgramCache.cpp b/cocos/renderer/CCGLProgramCache.cpp index c71b29eec87f..0072baa18c2e 100644 --- a/cocos/renderer/CCGLProgramCache.cpp +++ b/cocos/renderer/CCGLProgramCache.cpp @@ -35,7 +35,7 @@ THE SOFTWARE. #include "base/CCEventListenerCustom.h" #include "base/CCDirector.h" #include "base/CCEventDispatcher.h" -#include "platform/CCApplication.h" +#include "platform/CCDataManager.h" NS_CC_BEGIN @@ -128,15 +128,19 @@ GLProgramCache::~GLProgramCache() bool GLProgramCache::init() { - CC_OPTIMIZE_MASK("shader_compile", 1); +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + DataManager::onShaderLoaderBegin(); +#endif loadDefaultGLPrograms(); auto listener = EventListenerCustom::create(Configuration::CONFIG_FILE_LOADED, [this](EventCustom* /*event*/){ reloadDefaultGLProgramsRelativeToLights(); }); - +#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID + DataManager::onShaderLoaderEnd(); +#endif Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, -1); - CC_OPTIMIZE_MASK("shader_compile", 0); + return true; } From 996a7a0b572412b8701bb9a8d1c90b0bb21c6df6 Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Tue, 23 Apr 2019 18:29:50 +0800 Subject: [PATCH 3/9] update oppo sdk. --- cocos/2d/CCScene.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index 5a3bb2b614f9..893d4c631a1c 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -79,7 +79,7 @@ Scene::Scene() Camera::_visitingCamera = nullptr; #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - DataManager::onSecneEnter(); + DataManager::onSceneExit(); #endif } @@ -88,7 +88,7 @@ void Scene::onEnter() Node::onEnter(); #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - DataManager::onSceneExit(); + DataManager::onSecneEnter(); #endif } From 5bc50e09c0c0069c3bcc41c77009f7e5f6f883e3 Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Tue, 23 Apr 2019 18:44:51 +0800 Subject: [PATCH 4/9] update oppo sdk. --- cocos/2d/CCScene.cpp | 4 ++-- cocos/platform/CCDataManager.cpp | 8 ++++---- cocos/platform/CCDataManager.h | 4 ++-- .../java/src/org/cocos2dx/lib/Cocos2dxDataManager.java | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cocos/2d/CCScene.cpp b/cocos/2d/CCScene.cpp index 893d4c631a1c..0e8d96090881 100644 --- a/cocos/2d/CCScene.cpp +++ b/cocos/2d/CCScene.cpp @@ -79,7 +79,7 @@ Scene::Scene() Camera::_visitingCamera = nullptr; #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - DataManager::onSceneExit(); + DataManager::onSceneLoaderBegin(); #endif } @@ -88,7 +88,7 @@ void Scene::onEnter() Node::onEnter(); #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - DataManager::onSecneEnter(); + DataManager::onSceneLoaderEnd(); #endif } diff --git a/cocos/platform/CCDataManager.cpp b/cocos/platform/CCDataManager.cpp index 5d4ed2f714ca..8d82cd46e1a4 100644 --- a/cocos/platform/CCDataManager.cpp +++ b/cocos/platform/CCDataManager.cpp @@ -43,14 +43,14 @@ void DataManager::setFrameSize(int width, int height){ JniHelper::callStaticVoidMethod(DataManagerClassName, "setFrameSize", width, height); #endif } -void DataManager::onSecneEnter(){ +void DataManager::onSceneLoaderBegin(){ #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - JniHelper::callStaticVoidMethod(DataManagerClassName, "onSecneEnter"); + JniHelper::callStaticVoidMethod(DataManagerClassName, "onSceneLoaderBegin"); #endif } -void DataManager::onSceneExit(){ +void DataManager::onSceneLoaderEnd(){ #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID - JniHelper::callStaticVoidMethod(DataManagerClassName, "onSceneExit"); + JniHelper::callStaticVoidMethod(DataManagerClassName, "onSceneLoaderEnd"); #endif } void DataManager::onShaderLoaderBegin(){ diff --git a/cocos/platform/CCDataManager.h b/cocos/platform/CCDataManager.h index 7e33f445624c..a1ec44554b8e 100644 --- a/cocos/platform/CCDataManager.h +++ b/cocos/platform/CCDataManager.h @@ -42,8 +42,8 @@ class CC_DLL DataManager public: static void setProcessID(int pid); static void setFrameSize(int width, int height); - static void onSecneEnter(); - static void onSceneExit(); + static void onSceneLoaderBegin(); + static void onSceneLoaderEnd(); static void onShaderLoaderBegin(); static void onShaderLoaderEnd(); }; diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java index e911532fdd7e..b8c657f53e87 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java @@ -41,10 +41,10 @@ public static void setProcessID(int pid){ public static void setFrameSize(int width, int height){ setOptimise("buffer_size", width * height); } - public static void onSecneEnter(){ + public static void onSceneLoaderBegin(){ setOptimise("load_scene", 1); } - public static void onSceneExit(){ + public static void onSceneLoaderEnd(){ setOptimise("load_scene", 0); } public static void onShaderLoaderBegin(){ From 1526e3c8d43dd42e75ef4fc78a76c0116e9f321d Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Wed, 24 Apr 2019 14:46:38 +0800 Subject: [PATCH 5/9] update Copyright. --- cocos/platform/CCDataManager.cpp | 1 + cocos/platform/CCDataManager.h | 1 + .../android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java | 1 + 3 files changed, 3 insertions(+) diff --git a/cocos/platform/CCDataManager.cpp b/cocos/platform/CCDataManager.cpp index 8d82cd46e1a4..80a5343a7f11 100644 --- a/cocos/platform/CCDataManager.cpp +++ b/cocos/platform/CCDataManager.cpp @@ -2,6 +2,7 @@ Copyright (c) 2010-2012 cocos2d-x.org Copyright (c) 2013-2016 Chukong Technologies Inc. Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +Copyright (c) 2019 Xiamen Yaji Software Co., Ltd. http://www.cocos2d-x.org diff --git a/cocos/platform/CCDataManager.h b/cocos/platform/CCDataManager.h index a1ec44554b8e..1e5c3bf18e0c 100644 --- a/cocos/platform/CCDataManager.h +++ b/cocos/platform/CCDataManager.h @@ -2,6 +2,7 @@ Copyright (c) 2010-2012 cocos2d-x.org Copyright (c) 2013-2016 Chukong Technologies Inc. Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +Copyright (c) 2019 Xiamen Yaji Software Co., Ltd. http://www.cocos2d-x.org diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java index b8c657f53e87..7b5097d733c6 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java @@ -2,6 +2,7 @@ Copyright (c) 2010-2012 cocos2d-x.org Copyright (c) 2013-2016 Chukong Technologies Inc. Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +Copyright (c) 2019 Xiamen Yaji Software Co., Ltd. http://www.cocos2d-x.org From 40f8ed35f7ea5f3197b53f369d8dca299a171dde Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Wed, 24 Apr 2019 17:02:35 +0800 Subject: [PATCH 6/9] add ProGuard rules. --- tests/cpp-tests/proj.android/app/proguard-rules.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/cpp-tests/proj.android/app/proguard-rules.pro b/tests/cpp-tests/proj.android/app/proguard-rules.pro index c3d6dcccaedf..dcbc4e39da25 100644 --- a/tests/cpp-tests/proj.android/app/proguard-rules.pro +++ b/tests/cpp-tests/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } From cf6f322d3a1aabbb614efc16c0495e246cbfbfa5 Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Thu, 25 Apr 2019 18:05:43 +0800 Subject: [PATCH 7/9] add ProGuard rules for libCocos2dx. --- cocos/platform/android/libcocos2dx/proguard-rules.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cocos/platform/android/libcocos2dx/proguard-rules.pro b/cocos/platform/android/libcocos2dx/proguard-rules.pro index 3e3132a1fcca..deb8b2d1f2fa 100644 --- a/cocos/platform/android/libcocos2dx/proguard-rules.pro +++ b/cocos/platform/android/libcocos2dx/proguard-rules.pro @@ -20,3 +20,5 @@ -keep public class org.cocos2dx.lib.** -keepclassmembers public class org.cocos2dx.lib.** { *; } +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** \ No newline at end of file From 34f631d0d8f8c2bb1bf76276219936a2fefd4cda Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Fri, 26 Apr 2019 13:51:00 +0800 Subject: [PATCH 8/9] update project template. --- templates/cocos2dx_files.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index fbd3ab59bba6..f10a72affabd 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -974,6 +974,8 @@ "cocos/platform/CCApplicationProtocol.h", "cocos/platform/CCCommon.h", "cocos/platform/CCDevice.h", + "cocos/platform/CCDataManager.cpp", + "cocos/platform/CCDataManager.h", "cocos/platform/CCFileUtils.cpp", "cocos/platform/CCFileUtils.h", "cocos/platform/CCGL.h", @@ -1050,6 +1052,7 @@ "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxGLSurfaceView.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHandler.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxDataManager.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHttpURLConnection.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxJavascriptJavaBridge.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxLocalStorage.java", From 45aed1b9c344c004b9dc82e0f7bd19fa4aa877c6 Mon Sep 17 00:00:00 2001 From: chenxianyin <420373550@qq.com> Date: Fri, 26 Apr 2019 17:32:48 +0800 Subject: [PATCH 9/9] update ProGuard rules for all tester. --- .../cpp-template-default/proj.android/app/proguard-rules.pro | 2 ++ .../frameworks/runtime-src/proj.android/app/proguard-rules.pro | 2 ++ .../frameworks/runtime-src/proj.android/app/proguard-rules.pro | 2 ++ tests/cpp-empty-test/proj.android/app/proguard-rules.pro | 2 ++ tests/game-controller-test/proj.android/app/proguard-rules.pro | 2 ++ tests/js-tests/project/proj.android/app/proguard-rules.pro | 2 ++ .../lua-empty-test/project/proj.android/app/proguard-rules.pro | 2 ++ .../project/proj.android/app/proguard-rules.pro | 2 ++ tests/lua-tests/project/proj.android/app/proguard-rules.pro | 2 ++ tests/performance-tests/proj.android/app/proguard-rules.pro | 2 ++ 10 files changed, 20 insertions(+) diff --git a/templates/cpp-template-default/proj.android/app/proguard-rules.pro b/templates/cpp-template-default/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/templates/cpp-template-default/proj.android/app/proguard-rules.pro +++ b/templates/cpp-template-default/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/templates/js-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro b/templates/js-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/templates/js-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro +++ b/templates/js-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro b/templates/lua-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro +++ b/templates/lua-template-default/frameworks/runtime-src/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/cpp-empty-test/proj.android/app/proguard-rules.pro b/tests/cpp-empty-test/proj.android/app/proguard-rules.pro index c3d6dcccaedf..dcbc4e39da25 100644 --- a/tests/cpp-empty-test/proj.android/app/proguard-rules.pro +++ b/tests/cpp-empty-test/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/game-controller-test/proj.android/app/proguard-rules.pro b/tests/game-controller-test/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/tests/game-controller-test/proj.android/app/proguard-rules.pro +++ b/tests/game-controller-test/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/js-tests/project/proj.android/app/proguard-rules.pro b/tests/js-tests/project/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/tests/js-tests/project/proj.android/app/proguard-rules.pro +++ b/tests/js-tests/project/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/lua-empty-test/project/proj.android/app/proguard-rules.pro b/tests/lua-empty-test/project/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/tests/lua-empty-test/project/proj.android/app/proguard-rules.pro +++ b/tests/lua-empty-test/project/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/lua-game-controller-test/project/proj.android/app/proguard-rules.pro b/tests/lua-game-controller-test/project/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/tests/lua-game-controller-test/project/proj.android/app/proguard-rules.pro +++ b/tests/lua-game-controller-test/project/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/lua-tests/project/proj.android/app/proguard-rules.pro b/tests/lua-tests/project/proj.android/app/proguard-rules.pro index 83d0fa1dde7b..58119439a0c6 100644 --- a/tests/lua-tests/project/proj.android/app/proguard-rules.pro +++ b/tests/lua-tests/project/proj.android/app/proguard-rules.pro @@ -25,6 +25,8 @@ -dontwarn com.huawei.android.** -keep public class com.cocos2dx.sample.** { *; } -dontwarn com.cocos2dx.sample.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; } diff --git a/tests/performance-tests/proj.android/app/proguard-rules.pro b/tests/performance-tests/proj.android/app/proguard-rules.pro index 2c062c494602..9f6d4ff6bfb0 100644 --- a/tests/performance-tests/proj.android/app/proguard-rules.pro +++ b/tests/performance-tests/proj.android/app/proguard-rules.pro @@ -23,6 +23,8 @@ -dontwarn com.chukong.** -keep public class com.huawei.android.** { *; } -dontwarn com.huawei.android.** +-keep public class com.oppo.oiface.engine.** { *; } +-dontwarn com.oppo.oiface.engine.** # Proguard Apache HTTP for release -keep class org.apache.http.** { *; }