unity3d - 在 Unity 中为 VideoPlayer 切换视频剪辑会大大降低 FPS
问题描述
我正在使用统一提供的用于在表面纹理上播放视频的视频播放器 API。虽然每次更新后我都在更改视频剪辑,但编辑器上的 FPS 真的很慢。切换和加载新的视频剪辑需要很长时间(500-600 毫秒)
videoPlayer.clip = videoClips [vindex]; //此命令用于更改视频剪辑
我只是把定时器放在前后,发现它消耗了大量的时间。
谁能告诉我如何减少时间并提高FPS。任何替代方式或建议将不胜感激。(平台:Windows 上的 Unity 编辑器)
解决方案
如果视频真的很小,可以考虑使用多个videoPlayer同时播放每个视频。将RenderMode设置为RenderTexture,并切换 RenderTexture 而不是 videoClip。
surface.GetComponent<MeshRenderer>().material = videoPlays[vindex].targetTexture;
推荐阅读
- python - 访问过的烧瓶打印网址
- sql - JSON_VALUE SQL Server 函数未返回所有值
- node.js - 是否可以从 Express 服务器设置 Firebase Analytics?
- json - JSLT:输出非 JSON
- git - 在另一个分支中检测提交差异/补丁/大块,类似于cherry-pick的方式
- php - 将 php 7.1 与 Laravel Valet 2.7.0 一起使用时出现错误
- mysql - 如何在 MySQL 中作为 OR 运算符参数的 Where 子句中使用子查询?
- java - 使用 Spring Cloud Gateway、Spring Microservices 和 Consul 实现 SSL/TLS
- sql - 如何在 SQLite 中使用 JSON 合并多个列?
- kubernetes - GKE 集群无法从 Gitlab 私有注册表中提取 (ErrImagePull)