ya2 · news · projects · code · about

do not do asserts at runtime
[pmachines.git] / pmachines / app.py
index 521a063e63ee8ccd1d3b793b06eea729fd2d2e33..994b0fab35546bcad438ee5b0a84db7434ff6b0f 100755 (executable)
@@ -8,6 +8,7 @@ from sys import platform, argv, exit
 from logging import info, debug
 from os.path import exists
 from os import makedirs
+from multiprocessing import cpu_count
 from panda3d.core import Filename, load_prc_file_data, AntialiasAttrib, \
     Texture, WindowProperties, LVector2i, TextNode
 from panda3d.bullet import BulletWorld, BulletDebugNode
@@ -57,7 +58,7 @@ class MainFsm(FSM):
 
     def __do_asserts(self):
         args = self._pmachines._args
-        if args.functional_test or args.functional_ref:
+        if not LibP3d.runtime() or args.functional_test or args.functional_ref:
             assert_threads()
             assert_tasks()
             assert_render3d()
@@ -116,6 +117,7 @@ class PmachinesApp:
             self._fsm.demand('Menu')
         if args.functional_test or args.functional_ref:
             FunctionalTest(args.functional_ref, self._pos_mgr)
+        if not LibP3d.runtime() or args.functional_test or args.functional_ref:
             self.__fps_lst = []
             taskMgr.do_method_later(1.0, self.__assert_fps, 'assert_fps')
 
@@ -304,5 +306,6 @@ class PmachinesApp:
             self.__fps_lst.pop(0)
         self.__fps_lst += [globalClock.average_frame_rate]
         if len(self.__fps_lst) == 4:
-            assert(any(fps > 55 for fps in self.__fps_lst))
+            fps_threshold = 55 if cpu_count() >= 4 else 25
+            assert(any(fps > fps_threshold for fps in self.__fps_lst), 'low fps %s' % self.__fps_lst)
         return task.again