bestswifter/BSPanoramaView

图片超出范围后不显示

Closed this issue · 7 comments

  1. 在context绘制时候没有做图片size的处理,当图片很大时候,,就会error,Info为空,就拿不到数据了.
  2. 内存问题比较大,加载会比较慢

你说的 size 很大具体是指多大呢,比如 8192 * 4096 这样的么?

我刚才试了一个是16378 * 3678,就是直接用相机全景拍一张就这样的

内存问题暂时无法解决,我调研了其它的全景图框架,比如谷歌的 gvr-kit,也存在内存暴增的问题,似乎无法解决。

而且这个内存增长是可以预期的,比如 4096 * 2048 分辨率的图片会增加 4096 * 2048 * 4 / 1024 / 1024 = 32M 的内存,似乎无法避免。

如果有更好的处理方式,欢迎指正

似乎这个不是 GLKit 默认支持的纹理格式,一般我们用鱼眼图或者天空盒。鱼眼图是 2:1 的比例,天空盒是六张 1:1 的图片。

全景图片的格式我没有做太多调研,估计帮不上什么忙。

嗯啊,好的,我在搞搞

之后会添加图片分辨率的限制,确保内存使用不会太多。至于 16738 * 3678 的比例,只能自己调研下怎么生成纹理了。

感谢你的建议~,我先关掉 issue 了。