2017-09-23 26 views
1

标题基本上就是这么说的,我试图运行一个非常基本的Unity游戏,它使用Affectiva的情绪SDK for Unity来捕获2种情绪。即使是低端的Android设备,该游戏仍然流畅,但在iOS设备上并不那么流畅(目前已在iPhone 6 - iOS 10,6s - iOS 11,7上测试过)。在游戏场景中,我已将侦测器和相机输入脚本附加到主摄像机,采样率设置为8,目标宽度为320,目标高度为240.但是无论游戏运行的顺利。只要我禁用这两个脚本,游戏就会在iOS上顺利运行。任何改善游戏性能的建议?在iOS设备上使用Affectiva插件时出现的混乱

回答

0

有一个未发布的变化可以提高性能。能否请您试试这个变化,看看是否有帮助:

From 876c21d95eb84759742a4640f9fd30f4c6aa3518 Mon Sep 17 00:00:00 2001 
From: Forest Handford <[email protected]> 
Date: Mon, 28 Aug 2017 13:21:17 +0200 
Subject: [PATCH] SDK-1316: Sofia's performance changes 

--- 
.../Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs  | 2 +- 
UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs   | 1 + 
UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs  | 9 ++++++++- 
UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs | 2 +- 
.../Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs  | 2 +- 
UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs | 2 +- 
6 files changed, 13 insertions(+), 5 deletions(-) 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs 
mode change 100644 => 100755 UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs 

diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs 
old mode 100644 
new mode 100755 
index 07e9af2..885dfce 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/AndroidNativePlatform.cs 
@@ -58,7 +58,7 @@ namespace Affdex 

     public override IEnumerator Initialize (Detector detector, int discrete) 
     { 
-   AndroidNativePlatform.detector = detector; 
+   this.detector = detector; 

      // assemble the destination path where the data files will go 
      affdexDataDir = Path.Combine(Application.persistentDataPath, "affdex-data"); 
diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs 
old mode 100644 
new mode 100755 
index f5f1645..f5b6a41 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/Detector.cs 
@@ -53,6 +53,7 @@ namespace Affdex 
      set 
      { 
       listener = value; 
+    Debug.Log("Detector listener set"); 
      } 
     } 

diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs 
old mode 100644 
new mode 100755 
index 610402f..0484f1c 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/NativePlatform.cs 
@@ -34,9 +34,16 @@ namespace Affdex 
     } 
    } 

+ /// internal static class DetectorHelper: Detector 
+ /// { 
+  ///code to be inserted here when I figure it out, something about a public void 
+  /// 
+ 
+ /// } 
+ 
    public abstract class NativePlatform : MonoBehaviour 
    { 
-  protected static Detector detector; 
+  protected Detector detector; 

     //Free these when platform closes! 
     protected GCHandle h1, h2, h3; //handles to unmanaged function pointer callbacks 
diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs 
old mode 100644 
new mode 100755 
index 299dbd1..5e72c44 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/OSXNativePlatform.cs 
@@ -56,7 +56,7 @@ namespace Affdex 

     public override IEnumerator Initialize(Detector detector, int discrete) 
     { 
-   OSXNativePlatform.detector = detector; 
+   this.detector = detector; 
      String adP = Application.streamingAssetsPath; 
      String affdexDataPath = Path.Combine(adP, "affdex-data-osx"); 
      int status = 0; 
diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs 
old mode 100644 
new mode 100755 
index 47681df..f91f319 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/WindowsNativePlatform.cs 
@@ -57,7 +57,7 @@ namespace Affdex 

     public override IEnumerator Initialize(Detector detector, int discrete) 
     { 
-   WindowsNativePlatform.detector = detector; 
+   this.detector = detector; 

      //load our lib! 
      string affdexDataPath = Application.streamingAssetsPath + "/affdex-data-3"; 
diff --git a/UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs b/UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs 
old mode 100644 
new mode 100755 
index 8a61512..d37a631 
--- a/UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs 
+++ b/UnityPlugin/Assets/Affdex/Plugins/Scripts/iOSNativePlatform.cs 
@@ -88,7 +88,7 @@ namespace Affdex 

     public override IEnumerator Initialize(Detector detector, int discrete) 
     { 
-   iOSNativePlatform.detector = detector; 
+   this.detector = detector; 
      String adP = Application.streamingAssetsPath; 
      String affdexDataPath = Path.Combine(adP, "affdex-data-osx"); 

-- 
2.7.4.1.g5468f9e 
+1

嗨森林,这改善了我的游戏有点虽然游戏仍然没有在iOS设备上几乎一样光滑的,因为它是在Android设备上。感谢您的回复,有没有更多的建议可以提供给我?另外,您是否可以善意地告诉我所谓的技术是什么,这些技术将同时对所有文件进行这些更改,必须以您提供的格式提供某种方式。只是稍微推动一下即将寻找的东西会很棒。谢谢:) –

+0

作为salaam alaikum穆罕默德,这里是一篇文章,谈论应用差异: https://stackoverflow.com/questions/12320863/how-do-you-take-a-git-diff-file-and -apply-it-to-a-local-branch-that-a-copy-o 减少Affectiva插件CPU使用率的主要方法是降低帧速率和分辨率。你可以尝试5而不是8,但我不会降低。我会问我的同事是否可以想到别的。感谢更新。我们需要尽快获得这个补丁! –

+1

Walaikumasslam。我已经尝试降低帧率,分辨率没有太大的差别。我会尽力不断优化游戏。感谢SDK上的提示和应用差异的链接,它们总是一些新的东西:) –