Просмотр исходного кода

- simplify multithreading in VideoRecorderAppState

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8714 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
nor..67 14 лет назад
Родитель
Сommit
69e691872d
1 измененных файлов с 3 добавлено и 18 удалено
  1. 3 18
      engine/src/desktop/com/jme3/app/state/VideoRecorderAppState.java

+ 3 - 18
engine/src/desktop/com/jme3/app/state/VideoRecorderAppState.java

@@ -46,15 +46,6 @@ public class VideoRecorderAppState extends AbstractAppState {
             return th;
         }
     });
-    private ExecutorService writeThread = Executors.newSingleThreadExecutor(new ThreadFactory() {
-
-        public Thread newThread(Runnable r) {
-            Thread th = new Thread(r);
-            th.setName("jME Video Writing Thread");
-            th.setDaemon(true);
-            return th;
-        }
-    });
     private int numCpus = Runtime.getRuntime().availableProcessors();
 
     public VideoRecorderAppState(File file) {
@@ -125,17 +116,11 @@ public class VideoRecorderAppState extends AbstractAppState {
                         Screenshots.convertScreenShot(item.buffer, item.image);
                         item.data = writer.writeImageToBytes(item.image);
                         while (usedItems.peek() != item) {
-                            Thread.sleep(5);
+                            Thread.sleep(1);
                         }
-                        writeThread.submit(new Callable<Void>() {
-
-                            public Void call() throws Exception {
-                                writer.addImage(item.data);
-                                freeItems.add(item);
-                                return null;
-                            }
-                        });
+                        writer.addImage(item.data);
                         usedItems.poll();
+                        freeItems.add(item);
                         return null;
                     }
                 });