我读到可以为Raspberry Pi的视频内存分配128MB,64MB或32MB。

鉴于此机器的主要用例具有教育意义:我将运行轻量级python脚本和Web浏览。通过切换到仅32MB的内存,是否有可能遭受功能损失?

我不希望使用任何3D或播放任何视频。

评论

确保调整互换性:D

等等,这有42票。这不是问题,而是答案!

我相信现在值的范围会更宽,并且,按照@Krysztof Adamski的回答,可以在config.txt中为不同的总内存大小指定特定的拆分,以便同一张卡放在不同的RPis-我猜这在准备发行版时很有用...

#1 楼

我希望您不会遇到明显的不同,除非您正在执行图形繁重的任务,例如播放视频。

但是,由于性能限制会根据正在执行的应用程序和用户期望而有所不同,因此很难评估最佳设置。

最好的办法就是实验。

如果您想更改分割,则有两种不同的方法,具体取决于所使用的固件。如果可能,请确保您具有最新固件。如果由于某种原因无法进行更新,则以下两个选项均已包括在内:

新固件(2012年10月之后)



编辑/boot/config.txt并添加或编辑以下行:

gpu_mem=16


值可以是1664128256,表示GPU可用的RAM数量。

旧固件(2012年10月之前)

要更改视频内存,您​​需要替换图像start.elf分区上的/boot/文件。可能的.elf文件应位于Pi的/boot/目录中。您可以通过将start.elf文件替换为其他文件来进行切换。

共有三种内存模型,以下是Raspberry Pi讨论板上的建议:



224MB RAM和32MB VRAM用于Linux桌面发行版,或不需要播放视频或渲染3D的沉重(非
GUI)应用程序。

/>想要播放视频或具有3D效果的台式机发行版的192MB RAM和64MB VRAM(默认)。

用于广泛应用程序和游戏的128MB RAM和128MB VRAM
多媒体或玩3D渲染游戏。




还有一个:


240MB RAM和16 VRAM用于图形功能几乎为零。有足够的
GPU内存可渲染屏幕,但除此之外就不多了。当您
需要进一步提高非GUI性能时使用此功能。


评论


我已经更新了新的512MB型号的答案。

–活动
2012年10月24日16:33

字幕似乎增加了内存需求。对于带字幕的1080p视频,严格来说64MB是不够的。

–拉斐尔
13年3月27日在7:42

#2 楼

RAM对于Linux性能非常重要,原因有以下几个:


缓存。 Linux大部分时间都在没有可用内存的情况下运行。如果应用程序未使用某些内存,则将其用于缓存以加快处理速度。因此,不会浪费任何内存。如果应用程序需要更多内存,则释放缓存,因此缓存永远不会阻止需要更多RAM的应用程序运行。但是,当然,您可以缓存的越多越好。


如今,许多应用程序(尤其是台式机应用程序)需要大量内存才能运行。这不足为奇-如今,大多数台式机系统(甚至是智能手机)的内存都比Rapsberry Pi多得多。例如,即使是轻量级的Web浏览器)在打开一些较大的网站时也会占用数十MB的内存。


每个应用程序都需要一定数量的内存。因此,您运行的应用程序越多,它们使用的内存就越多。


因此,您始终希望拥有尽可能多的ARM内存。但是GPU有自己的需求,具体取决于您希望从中获得什么功能。
256MB版本
对于具有256 MB RAM的较旧的RaspberryPi,可以使用4个拆分:


240/16-带有微型GPU内存的ARM可获得的最大RAM大小(240MB)。当您不需要3D图形或硬件视频加速时,它是通用计算的最佳选择。它有足够的内存来处理1920x1200x16bpp帧缓冲区分辨率。虽然32bpp也可以使用,但不建议这样做,因为它为GPU留下了很少的可用内存。


224/32-不赞成使用此模式,而建议使用240/16分割。它具有3D
和内置的硬件视频解码功能,但是由于没有足够的内存来实际使用它,因此使用它毫无意义。除非
您在240/16分割时遇到一些问题,或者想以最高分辨率使用32bpp
帧缓冲区。将来有可能会被删除。

加速或3D图形。
可能没有足够的GPU内存用于
高分辨率的硬件加速视频播放,或者如果您
需要大量的GPU内存来处理纹理之类的东西。


128 / 128-可以获得最多RAM的GPU。当您需要大量
内存用于3D图形卡和高分辨率的硬件加速视频播放时,可以使用它。要使RaspBMC正常工作或
使用omxplayer播放全高清视频内容而不会出现问题,需要进行此拆分。


512MB版本
新版本的RaspberryPi具有512 MB的内存。您还为此版本设计了4个额外的拆分:

496/16和448/64-像240/16192/64拆分分别为256MB,但还有256MB以上的RAM用于ARM。由于GPU只有16 MB / 64MB或RAM,因此240/16 / 192/64的所有限制仍然适用。

384/128-与256MB的128/128分割类似-您应该获得所有图形芯片功能但具有合理的ARM内存量。


动态拆分
新版本的固件包已删除大部分start_*.elf文件,仅保留start.elfstart_cd.elf(还添加了fixup*.elf文件)。从现在开始,您不必手动选择适当的start_*.file。相反,您应该使用gpu_mem*文件中的config.txt选项来选择将多少内存分配给GPU。剩余的内存将分配给ARM。对于此选项,应该可以在以下范围内使用任意数字:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M

虽然目前没有硬编码的分割值,但是当您尝试确定应为GPU分配多少内存时,此答案其余部分的大多数信息仍然应该有效。
相应文件的版本,仅在start_cd.elf时使用。
在256 MB和512 MB版本上同时使用一个SD卡
如果将一个SD卡映像用于不同的RaspberryPi版本,则可以使用fixup_cd.elfgpu_mem=16选项。第一个仅在256MB版本上使用,第二个仅在512MB版本上使用。

评论


是的,如果您想同时使用XBMC和LXDE而又不用在切换切换之前进行无聊的手动配置文件更改,或者如果Pi是您每天要使用的主计算机,那么升级是值得的。

–avra
2012年11月22日13:09

有用的指导。要澄清-无头跑步的最佳分割是什么?例如,rpi摄像头模块是否具有GPU要求?

–地理理论
2014年4月20日14:30在

现在有一个gpu_mem_1024,毫无疑问,它是1024 MB RPis-当前是RPi 2 B(我猜是A,如果有的话)?

– SlySven
16年1月20日在9:02

根据elinux.org/RPiconfig#Camera,照相机模块在/boot/config.txt中需要以下几行:start_x = 1和gpu_mem = 128或更多。另外,/ usr / bin / raspi-config具有启用摄像机的选项。

–mpb
16年8月13日在22:01



#3 楼

根据我的经验,仅终端需要8-16MB。
800p GUI只需20MB
1080p GUI只需24MB
1440p GUI只需32MB
<1080p youtube videos <64 /> <128 /> 128MB用于1080p youtube视频
用于4k视频的256MB(很有可能Pi不能很好地完成4k)。

评论


对于3B +及更早版本,这是正确的,对于4B,请不要设置值,让系统计算出一个最佳值。不要在4B上设置超过256MB的值。

–道奇
19年12月21日在3:25