楼主的问题可以解决,最近对cesium的加载性能进行了压力测试,使用geojson加载线数据在30万左右,矢量建筑面8万左右尚可,具体视浏览器还有差异。使用3dtile数据可以保证加载量,处理是关键,楼主可以使用cesiumlab的工具处理shape转3dtiles,可以保留高度和2个属性,测试百万级建筑白模性能不错。楼主的优化思路不算好,根据视窗加载永远避免不了大量数据处理问题,这个要通过数据预处理来解决,3dtiles的出现就是为了解决该问题。当然,geojson如何优化展示还是要另辟思路。
楼主应该是使用的基于heatmap封装的那个脚本吧,建议更换使用github上这个项目https://github.com/danwild/CesiumHeatmap中 的HeatmapImageryProvider接口,同时建议修改该脚本,将heatmap的原生脚本删除,按照CMD方式重构。