Hi,
I have a path that takes a really long time to render depending on the zoom level. I can reproduce the problem on a linux system with an AMD card and different Android phones, but other configurations, like a machine with Nvidia card is not affected. The path is usually very quick to render; but when the view changes and triggers the problem, the rending time goes up dramatically (~1 sec to render on the AMD system and ~10 sec on Android phone).
"skp" file is attached. The WASM debugger (
https://debugger.skia.org) doesn't reproduce the problem, but the locally built `skiaserve` does when using GPU (software mode is fine).
I'm using m83 and it has been built with:
gn gen out/Test --args='cc="clang" cxx="clang++" is_official_build=false skia_enable_tools=true'
ninja -C out/test/ skiaserve
Other build with ` is_official_build=true` and other options shows the issue too. I've initially was on m77 and I also tried m85, and they behave similarly. The application uses OpenGL rendering. See [1] for a typical stack trace of when the rendering is "stuck".
Any advice on what is going on and how to work around this issue would be welcome.
Thanks,
Jean-Claude
[1] Stack trace
-------------------
1 AlmostLessOrEqualUlps(float, float) 0x5555559711e5
2 AddIntersectTs(SkOpContour *, SkOpContour *, SkOpCoincidence *) 0x555555c92be1
3 OpDebug(SkPath const&, SkPath const&, SkPathOp, SkPath *) 0x555555b31dce
4 GrCoverageCountingPathRenderer::CropPath(SkPath const&, SkIRect const&, SkPath *) 0x555555a5f13f
5 GrCCDrawPathsOp::Make(GrRecordingContext *, SkIRect const&, SkMatrix const&, GrStyledShape const&, GrPaint&&) 0x555555c0e193
6 GrCoverageCountingPathRenderer::onDrawPath(GrPathRenderer::DrawPathArgs const&) 0x555555a5ec46
7 GrRenderTargetContext::drawShapeUsingPathRenderer(GrClip const *, GrPaint&&, GrAA, SkMatrix const&, GrStyledShape const&, bool) 0x5555559b7fcb
8 GrRenderTargetContext::drawShape(GrClip const *, GrPaint&&, GrAA, SkMatrix const&, GrStyledShape const&) 0x5555559bfde8
9 GrRenderTargetContext::drawPath(GrClip const *, GrPaint&&, GrAA, SkMatrix const&, SkPath const&, GrStyle const&) 0x5555559bb001
10 SkGpuDevice::drawPath(SkPath const&, SkPaint const&, bool) 0x555555a4c036
11 SkCanvas::onDrawPath(SkPath const&, SkPaint const&) 0x5555558bcf5f
12 SkCanvas::drawPath(SkPath const&, SkPaint const&) 0x5555558ba408