系统 | System
这些拼图可以用来执行各种系统功能,比如打印到控制台,测量性能,获取/设置渲染的像素比,检索GPU信息以及使用持久性浏览器存储。
内容
拼图参考
print to console
打印任何类型的数据(某个拼图的输出,一个变量,或者只是一个文本)到浏览器控制台。打印到控制台是调试脚本最通用和最简单的方法。
print performance info
记录1秒钟内的性能概况,并将其打印到浏览器控制台。使用此概况可以找到性能瓶颈,提高应用的渲染和加载速度。在这里查看详情。
check performance
测量用户计算机或设备的渲染能力。其底层使用开源库Detect GPU来查找现有的基准测试结果并将用户的GPU分类为"good"或"poor"。
您可以使用此拼图的槽位为性能较差的GPU加载更简单的场景或禁用一些消耗图形性能较多的功能(例如后期处理效果)。另一方面——如果用户的GPU性能更强大——您可以提高渲染质量。
我们还将此基准测试添加到了WebGL Report页面,以便您在浏览器中打开此页面即可快速检查GPU。
如果用户的GPU报告为"good",并不意味着您可以任意加载性能繁重的图形。您仍然需要尽可能多地优化您的应用!
feature available
检查从下拉菜单中选择的功能在用户的浏览器中是否可用。如果功能可用,拼图返回true,否则返回false。
可以使用此拼图检查的功能包括:
| 功能 | 描述 |
|---|---|
| Mobile Device | 应用正在移动设备(手机、平板电脑、便携式VR头显)上运行。 |
| Android | 应用正在Android设备上运行。 |
| iOS | 应用正在iOS或iPadOS设备上运行。 |
| Windows | 应用正在Windows操作系统上运行。 |
| macOS | 应用正在macOS上运行。 |
| ChromeOS | 应用正在ChromeOS上运行。 |
| Linux | 应用正在Linux(Ubuntu, Fedora, Red Hat等)上运行。 |
| Google Chrome | 应用正在Google Chrome浏览器或其克隆版(Chromium, Brave,但不包括Edge)中运行。 |
| Firefox | 应用正在Firefox浏览器中运行。 |
| Internet Explorer | 此功能始终为false,因为Verge3D很久以前就不再支持Internet Explorer。保留此选项是为了兼容性。 |
| Microsoft Edge | 应用正在Microsoft Edge浏览器中运行。 |
| Safari | 应用正在Apple Safari浏览器中运行。 |
| Touch Screen | 系统具有触摸屏设备。 |
| Retina Display (HiDPI) | 系统具有高分辨率显示器(Retina),即其原生屏幕比例值大于或等于2。 |
| High Dynamic Range (HDR) | Verge3D应用在启用了HDR功能的情况下运行。这与目标系统显示器的HDR支持无关。 |
| Web Audio API | 系统支持Web Audio(现在始终为true)。 |
| WebGL | 系统支持WebGL(至少此3D Web标准的1.0版本)。 |
| WebGL 2.0 | 系统支持WebGL 2.0版本。 |
| WooCommerce | 应用正在由WordPress的WooCommerce插件创建的产品页面上运行。 |
| Do Not Track | 用户的浏览器启用了"Do Not Track"设置。此功能被视为已弃用,不应再使用。 |
get GPU
输出用户的GPU信息——供应商,例如:NVIDIA Corporation, Apple Inc., Qualcomm,以及GPU型号,例如:GeForce GTX 1060 3GB/PCIe/SSE2, Apple A9 GPU, Adreno (TM) 330。
set screen scale
为渲染的画布设置屏幕分辨率系数。设置 >1 以提高质量,<1 以提高性能。1是Retina(又称HiDPI)和非Retina显示器上的默认屏幕比例。
Verge3D使用1作为默认比例因子,以防止在Retina显示器上渲染过多的像素。如果性能不是问题,可以通过将屏幕比例设置为原生屏幕比例来启用Retina渲染,或者使用中间值(例如1.5)。
native screen scale
原生(取决于硬件或浏览器缩放)画布分辨率系数。如果您没有放大或缩小页面,这个值对于非Retina显示器来说等于1,对于HiDPI显示器、现代智能手机和平板电脑来说大于1。
detect gamepad device
检测连接到系统或与系统断开连接的游戏手柄设备。当发现新的游戏手柄设备时,在once connected do槽中指定的拼图会被触发。当设备断开连接时,在once disconnected do槽中指定的拼图会被触发。在任何情况下,gamepad index值都会被设置并返回设备索引。
gamepad index
返回连接/断开连接的游戏手柄设备索引。
get gamepad property
返回具有给定索引的设备的游戏手柄属性。
属性:
- connection status — 设备是否连接(返回true)或断开连接(返回false)。
- axis — 设备轴的位置,范围为-1.0–1.0。例如,所有最新游戏手柄上的模拟摇杆由两个轴表示:左-右和上-下。
- button — 设备按键状态。当按键被按下时返回true,否则返回false。
- analog button — 模拟按键状态。与按键类似,但可以检测按键被按下的程度。返回范围为0–1的值。
- id — 设备ID字符串。识别连接设备的品牌和型号。
- timestamp — 游戏手柄的轴/按键最后一次被更新的时间。您可以将此值存储在变量中,并在每一帧中与当前时间戳进行比较,以检测某个摇杆/按键是否被移动/按下。
- mapping — 设备映射:具有标准布局的游戏手柄为"standard",具有标准AR/VR控制器布局的游戏手柄为"xr-standard",未知设备为""(空字符串)。
- debug info — 输出带有调试信息的字符串。用print to console拼图打印此信息,以了解连接的游戏手柄设备上有哪些按键或摇杆。
有关使用示例,请查看 Farmers Journey 演示(也可在资源商店中找到)。
要在您的应用中正确分配摇杆/按键,请使用Gamepad Diagnostics工具、debug info属性,或遵循标准游戏手柄布局(可能不适用于所有类型的设备):
在标准AR/VR控制器的情况下,布局有所不同:
storage set
将键值对存储在浏览器的本地存储中,数据不会过期。这意味着即使浏览器窗口关闭,存储在浏览器中的数据仍将保留。注意:在"隐私浏览"或"无痕"会话中,最后一个"隐私"标签关闭时,浏览器的本地存储将被清除。
键必须是文本。支持将以下数据类型作为赋值:数字、文本、列表、字典。
storage get
返回浏览器本地存储中与指定键关联的值。
storage remove
删除浏览器本地存储中与指定键关联的值。
storage check
检查浏览器的本地存储中是否存在指定的键。返回布尔类型的结果true或false。
close app
关闭Verge3D应用。由于浏览器施加的安全限制,此拼图仅适用于Electron、Cordova或以编程方式打开的页面。
在使用拼图时遇到困难?
欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。