原因是没设置webWheelEvent.hasPreciseScrollingDeltas = true;。
说起来简单,实际上找到这个原因花了一晚上。通过各种log打印,发现从发送m_webViewImpl->handleInputEvent(webWheelEvent);
到真正让layer开始滚动的WebLayerImpl::setScrollPositionDouble之间,隔了很久。于是调试handleInputEvent里面为啥没走到setScrollPositionDouble,
最后发现是ScrollAnimatorNone::PerAxisData::animateScroll里跳走了。这几个函数有点复杂,没怎么看明白。不过看了下webWheelEvent里相关的成员变量有没啥可以影响这里面的流程,最后锁定hasPreciseScrollingDeltas ,试了下,居然可以。就此搞定。
本文介绍了解决网页滚动延迟的问题,作者通过调试发现未设置webWheelEvent.hasPreciseScrollingDeltas为true导致滚动延迟,最终通过调整该参数解决了问题。
3244

被折叠的 条评论
为什么被折叠?



