cefpython で簡単なオフスクリーン レンダラーを作成しました。
私は を使用cefpython.MessageLoop()
しており、毎秒何かを行うための別のスレッドがあります。
[... cefpython initialization ...]
startTime = time.time()
def main_loop():
print time.time() - startTime
threading.Timer(1, main_loop).start()
main_loop()
cefpython.MessageLoop()
これは正常に動作しますが、30 秒後に速度が低下します (その後、ループは 10 秒ごとに更新されます)。
これは私が得る出力です:
[CEF Python] Initialize() called
[CEF Python] CefExecuteProcess(): exitCode = -1
[CEF Python] CefInitialize()
[...]
3.11049604416
4.11594009399
5.11900210381
[...]
27.2121961117
28.2259521484
29.2369601727
[... then it updates every 10 seconds ...]
40.1490521431
50.1502101421
60.1521630287
奇妙なことに、ターミナル ウィンドウから google chrome にフォーカスを切り替えたときにもループが更新されます (ただし、ターミナルから他のアプリに切り替えたときは更新されません)。
- - アップデート - -
python アプリ (OS X ドックの python のロケット アイコンからアクセス可能) に焦点を当てると、ループは適切に実行されます。Pythonスクリプトを起動した端末にフォーカスを移してもループが正常に更新されないので戸惑いました。