Joestar.Xu
发表于 2023-9-25 14:43:05
您好,我很能理解您的心情,但是就目前的结果来看,该问题无法稳定复现,即使我们这边一起看了也只能看到这个问题的表现,仍旧无法定位到这个问题的原因,所以还是只能您那边提供一个可以稳定复现的Demo,这边联合开发一起帮您调研一下看看是什么问题。
spreadjs666
发表于 2023-9-26 16:50:07
本帖最后由 spreadjs666 于 2023-9-26 17:43 编辑
使用官网demo
https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
使用iOS手机打开safari浏览器
在终端执行如下代码
var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("gc-designer-container"));
var spread = designer.getWorkbook();
setInterval(()=>{
spread.fromJSON(spread.toJSON())
},100)
就会复现白屏
并提示:
Total canvas memory use exceeds the maximum limit (384 MB). (gc.spread.sheets.all.16.2.3.min.js, line 13)
在 iOS 设备上,WebGL 上下文的总画布内存使用量有一个最大限制,通常为 384 MB。如果使用超过这个限制的内存,会导致出现不能绘制canvas的问题。
spreadjs666
发表于 2023-9-26 17:03:58
Joestar.Xu
发表于 2023-9-26 17:34:52
好的,这边尝试复现一下,后续有进展我会在本帖中回复您。
Joestar.Xu
发表于 2023-9-27 09:44:45
您好,我这边测试了一下,您看看是否是这个问题。
Richard.Huang
发表于 2023-9-28 13:55:24
本帖最后由 Richard.Huang 于 2023-10-7 11:37 编辑
您好,请问楼主问题是否得到解决,如果仍存在相关疑问,欢迎继续跟帖
拾趣ヾ
发表于 2023-10-7 09:28:04
本帖最后由 Richard.Huang 于 2023-10-7 11:37 编辑
是的,会一直白下去,楼上同学并没有提供解决方案。
Joestar.Xu
发表于 2023-10-7 15:50:52
了解了,我这边跟开发反馈一下,后续有进展我会在本帖中回复您。
Joestar.Xu
发表于 2023-10-26 14:09:06
您好,经调研:
此处的代码频繁地调用spread.fromJSON接口,会不断地触发界面重绘,猜想在这种情况下,移动设备有一些限制或策略来限制内存或 DOM 渲染,以避免过度消耗电池,这应该属于Limitation。
建议您在应用程序中创建一些策略,以避免如此频繁地刷新Spread。
拾趣ヾ
发表于 2023-12-21 10:30:15
Joestar.Xu 发表于 2023-10-26 14:09
您好,经调研:
想问下,如何能在移动端设备上想批量渲染各种类型数据的API,又不触发界面重绘呢,怎么解决这个问题呢