我的应用程序需要在屏幕上绘制成百上千的图像,以及一些原始形状,如圆形和连接它们的线条。我的应用程序主要关注的是,我能够快速平移和缩放,并且在高FPS下没有滞后 - 与谷歌地图类似应用程序的类似体验。
因为我希望我的图像在缩放时看起来很清晰,所以我使用SVG创建了我的图标,因此在缩放后它们不会像素化。
我当前的实现使用d3和DOM来显示所有内容。它工作正常,但随着DOM节点数量的增加,FPS下降,缩放变得滞后。
根据我的理解,我的选项是使用更好的渲染器,如canvas或WebGL。我的问题是这些渲染器不支持svg缩放,所以即使我用ctx.drawImage()绘制我的图像,在缩放后它看起来很糟糕。
我试着看一些像PIXI.js,three.js这样的库,但似乎没有提供这种功能。
如何在缩放后保留图标清晰度的同时使用现代渲染器?