运行时选项
Pyglet提供了一种通过选项更改运行时行为的方法。这些选项提供了修改特定模块、特定操作系统的行为或添加更多调试信息的方法。选项可以指定为键,也可以指定为属性 pyglet.options
玻璃实例。
要更改选项的缺省设置,必须导入 pyglet
在任何分包之前。
例如::
import pyglet
pyglet.options['debug_gl'] = False
pyglet.options.debug_media = True
默认选项也可以从操作系统环境中重写。 每个选项键的相应环境变量的开头是 PYGLET_
。例如,在Bash中,您可以设置 debug_gl
选项包括::
PYGLET_DEBUG_GL=True; export PYGLET_DEBUG_GL
对于需要值的元组的选项,请用逗号分隔每个值。
- class Options
全球小狗选项的数据类。
-
audio:
Sequence
[str
] = ('xaudio2', 'directsound', 'openal', 'pulse', 'silent') A
Sequence
有效音频模块名称的。它们将从头到尾进行尝试,直到加载驱动程序或没有剩余条目。看见 选择音频驱动程序 以获取更多信息。有效的驱动程序名称为:
'xaudio2'
,Windows Xaudio2音频模块(仅限Windows)'directsound'
,Windows DirectSound音频模块(仅限Windows)'pulse'
vt.的. PulseAudio 模块(仅限Linux,否则几乎无处不在。功能有限;使用
'openal'
了解更多信息。)
'openal'
vt.的. OpenAL 音频模块(可能需要在Windows和Linux上安装库)'silent'
,无音频
-
com_mta:
bool
= False 如果
True
,这将强制执行Windows应用程序的COM多线程公寓模式。默认情况下,出于兼容性原因,pyglet选择采用单线程公寓(STA)。许多其他与Python一起使用的第三方库显式设置了STA。然而,Windows推荐MTA及其许多API,例如Windows Media Foundation(WMF)。Added in version 2.0.5.
-
debug_gl:
bool
= True 如果
True
,随后使用检查对OpenGL函数的所有调用是否存在错误glGetError
。这将严重影响性能,但会在故障点提供有用的异常。默认情况下,在以下情况下启用此选项__debug__
已启用(即,如果Python没有使用-O选项运行)。 当pyglet被“冻结”时(例如在pyinstaller或nuitka中),默认情况下将禁用它。
-
debug_gl_trace_args:
bool
= False 如果
True
,除了打印GL调用的名称外,它还将打印传递到这些调用中的参数。例如,glBlendFunc(770, 771)
备注
需要
debug_gl_trace
要启用。
-
debug_graphics_batch:
bool
= False 如果
True
,打印正在绘制的批次信息,包括Group
' s、VertexDomains和Texture
信息.这对于了解有多少个集团正在合并很有用。
-
debug_win32:
bool
= False 如果
True
,打印与Windows库调用相关的错误消息。通常从Kernel32.GetLastError
.此信息输出到名为debug_win32.log
。
-
dw_legacy_naming:
bool
= False 如果
True
,将为默认Windows字体渲染器启用传统命名支持 (DirectWrite
).尝试通过传递的名称解析字体,以最佳地匹配传统RBIZ命名。- 看见:
https://learn.microsoft.com/en-us/windows/win32/directwrite/font-selection#rbiz-font-family-model
例如,这允许指定
"Arial Narrow"
而不是"Arial"
使用一个"condensed"
拉伸或"Arial Black"
而不是"Arial"
重量为black
.这可能会增强选定字体的跨平台命名兼容性,因为旧字体渲染器采用此命名方案。首先分析字符串以寻找任何已知的样式名称,并搜索所有字体集合以寻找匹配的RBIZ名称。如果没有找到完美匹配,它将选择次佳匹配。
备注
由于风格差异很大,某些字体的功能有限,无法保证第二接近的匹配恰好是用户想要的。
备注
这个
debug_font
选项可以提供有关正在选择的设置的信息。Added in version 2.0.3.
-
headless:
bool
= False 如果
True
,不会创建可见的Windows,并且不需要运行的桌面环境。当在无头服务器或计算集群上运行pyglet时,此选项很有用。带有的GL驱动程序EGL
此模式需要支持。
-
headless_device:
int
= 0 如果使用
headless
模式 (pyglet.options['headless'] = True
),此选项允许您设置使用哪个图形处理器。这仅在多图形处理器系统中有用。
-
osx_alt_loop:
bool
= False 如果
True
,这将为Mac NSX启用替代循环。这适用于所有ARM64架构的Mac。由于与Objective C、Python和Mac ARM 64处理器的ctyles接口存在各种问题,标准事件循环最终开始崩溃,导致输入丢失或延迟。即使在基于英特尔的Mac上,也可以通过标准事件循环看到其他奇怪的行为,例如因事件随机崩溃。
Added in version 2.0.5.
-
shader_bind_management:
bool
= True - 如果
True
,这将支持对统一块绑定进行内部管理
如果
False
,绑定不会由Pyglet管理。用户将负责通过GLSL布局(需要4.2)或手动通过UniformBlock.set_binding
。Added in version 2.0.16.
- 如果
-
shadow_window:
bool
= True 默认情况下,在导入pyglet.gl时,pyglet会创建一个带有GL上下文的隐藏窗口。这允许在创建应用程序窗口之前加载资源,并允许在窗口之间共享GL对象,即使它们已经关闭。通过将此选项设置为FALSE,可以禁用阴影窗口的创建。
某些OpenGL驱动程序实现可能不支持共享OpenGL上下文,并且可能需要禁用阴影窗口(并且必须在创建使用它们的窗口之后加载所有资源)。仅建议高级开发人员使用。
Added in version 1.1.
-
vsync:
bool
|None
= None 如果设置,则 pyglet.window.Window.vsync 属性被忽略,并且此选项将覆盖它(以强制打开或关闭vsync)。如果未设置或设置为None,则 pyglet.window.Window.vsync 属性的行为与文档中的行为相同。
-
win32_disable_shaping:
bool
= False 如果
True
,将禁用默认Windows字体渲染器的整形过程,以提高性能速度。如果您的字体简单、等距,或者不需要高级的OpenType功能,则此选项可能很有用。您可以尝试启用此功能,看看是否对字体的清晰度有任何影响。推进将由横梁宽度决定。备注
整形是在给定完整字符串时确定使用哪些字符字形以及这些字形的具体放置的过程。
Added in version 2.0.
-
win32_disable_xinput:
bool
= False 如果
True
,这将禁用XInput
Windows中的控制器使用情况和回撤到DirectInput
. 对于调试或特殊用例可能有用。控制器只能由其中一种控制XInput
或DirectInput
,而不是两者。Added in version 2.0.
-
win32_gdi_font:
bool
= False 如果
True
,侏儒将退回到遗产中GDIPlus
适用于Windows的字体渲染器。这可能会为旧字体提供更好的字体兼容性。遗留渲染器不支持整形、彩色字体、替换或其他OpenType功能。某些语言也可能存在问题。由于缺乏这些功能,它可能会更高的性能。
Added in version 2.0.
-
audio:
- options: Options = Options(audio=('xaudio2', 'directsound', 'openal', 'pulse', 'silent'), debug_font=False, debug_gl=True, debug_gl_trace=False, debug_gl_trace_args=False, debug_gl_shaders=False, debug_graphics_batch=False, debug_lib=False, debug_media=False, debug_texture=False, debug_trace=False, debug_trace_args=False, debug_trace_depth=1, debug_trace_flush=True, debug_win32=False, debug_input=False, debug_x11=False, shadow_window=True, vsync=None, xsync=True, xlib_fullscreen_override_redirect=False, search_local_libs=True, win32_gdi_font=False, headless=False, headless_device=0, win32_disable_shaping=False, dw_legacy_naming=False, win32_disable_xinput=False, com_mta=False, osx_alt_loop=False, shader_bind_management=True)
实例
Options
用于设置运行时选项。
环境设置
中的选项 pyglet.options
字典可以通过操作系统的环境变量设置缺省值。下表显示了每个选项使用的环境变量:
环境变量
类型
缺省值
PYGLET_AUDIO
audio
字符串列表
directsound,openal,alsa,silent
PYGLET_DEBUG_GL
debug_gl
布尔型
1
[1]