我想设置多少GPU RAM用于防止应用程序在Windows上溢出。有没有人有任何专家意见?
我正在使用电子来构建自动播放器for windows 。此播放器根据时间表播放混合视频( h264 编码 mp4 ), html 和 jpeg 像演示文稿) 我在几个Windows设备上测试了应用程序,结果差别很大!
所有设备都是华硕的小型计算机。一般来说,我注意到 2个明显差异:
在没有硬件加速的设备 gpu进程耗尽了大约 30MB 的共享内存网络时,这个数字永远不会改变,无论播放的内容。然而,CPU在这里有所有负载,这意味着它用软件而不是硬件解码mp4(h264)。
在具有硬件加速的 设备上,cpu负载当然少了,但是chrome gpu-process使用的RAM内存差异很大。在显示jpeg或html时, RAM 大约是 0.5GB ,当 mp4的在RAM内存中轻松上升到 2GB 等等。
在没有硬件加速的更强大的设备上,这不是一个大问题,它们有8GB的共享内存或更多,并且不会崩溃。但是其他一些设备只有4GB的共享内存,并且很容易耗尽内存。
内存不足的结果是应用程序完全崩溃(显示内存溢出的消息)或应用程序只是挂起(继续运行但不会做任何事情,通常只显示一个白色的屏幕。)
我知道我可以使用 app.commandLine.appendSwitch 将某些标记传递给浏览器窗口。
这些是我试过的一些旗帜及其效果,我找到了它们的列表here:
为什么其中一些命令行开关对GPU行为没有任何影响?所有设备都有板载GPU和共享RAM。我知道命令行开关正在启动时使用,因为当我检查Windows任务管理器中的进程时,我可以看到交换机已经过了进程(使用任务管理器中的命令行选项卡)。所以交换机已加载,但似乎仍被忽略。
我想设置多少GPU RAM用于防止应用程序在Windows上溢出。有没有人有任何专家意见?