Ich benutze Python Pyglet-Modul (Python 3 unter Windows). Wenn ich auf irgendwelche Klassen in pyglet.image verweise, springt die CPU-Nutzung von python hoch und fällt erst, wenn ich Python verlasse. Zum Beispiel:Warum verursacht der Verweis auf eine Klasse in (python) pyglet.image schwere CPU-Last unter Windows?
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Anaconda3>python.exe
Python 3.4.3 |Anaconda 2.3.0 (64-bit)| (default, Mar 6 2015, 12:06:10) [MSC v.1
600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyglet #No problem!
>>> pyglet.image.ImageData #Heavy CPU load until I exit python
<class 'pyglet.image.ImageData'>
Ist dieses erwartete Verhalten? Warum führt die Erwähnung dieser Klasse (nicht einmal die Instantiierung) zu einer so hohen CPU-Auslastung?
Systeme die ich getestet habe:
Windows 7 Desktop mit Anaconda Python 3.4.3 und Pyglet installiert durch 'Pyglet installieren pip': Hohe CPU-Auslastung (mein Problem)
Der gleiche Win7-Desktop mit Anaconda Python 3.4.3, aber pyglet installiert durch 'pip installieren hg + https://bitbucket.org/pyglet/pyglet': Hohe CPU-Auslastung.
Derselbe Win7-Desktop mit python 3.5 von python.org und pyglet installiert über 'pip install pyglet': Hohe CPU-Auslastung.
Fedora 22 Lenovo Laptop mit Python 3.4.2 und pyglet 1.2.1 installiert durch dnf: kein Problem.
Windows 10 HP Laptop mit Anaconda Python 3.4 und Pyglet installiert durch 'Pip installieren Pyglet': kein Problem.
Ist es möglich, dass dies Hardware-abhängig ist?
Sie könnten versuchen, es zu profilieren: https://docs.python.org/3.5/library/profile.html – Nathaniel
Erhalten Sie eine Traceback, wenn Sie Ctrl-C drücken? – shx2
Der Eingang, der zu einer hohen CPU-Auslastung führt, kehrt sofort zurück. Wenn ich Strg-C, bekomme ich keine Rückverfolgung. – Andrew