Description:
I've loaded https://openaerialmap.org/ image into cesium, and the renderer stopped
when i navigate to other locations the map is blurred as if the tiles are not loaded, but in the chrome dev-tools network tab i see that the tiles looks perfect
viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({
url: "https://tiles.openaerialmap.org/5cba78c0761d2e00050690d9/0/5cba78c0761d2e00050690da/{z}/{x}/{y}"
}));
expected:
load the openaerialmap image and be able to navigate to other locations
actual:
after openaerialmap image is loaded cesium tile renderer stops rendering new tiles
Sandcastle example:
https://cesiumjs.org/Cesium/Apps/Sandcastle/#c=dVNhb9owEP0rVr4QJOYEOmBkgFbRTULqRrfCPkWqjuSg1hwb2Q4tjfLf55BkJFRLlMh3fs/n53sORSiOoMiR4QsqMiMCX8gCNUsT+vucczvROVxIYYAJVJ0eyUIRmsvLEtijOj0oeWQxqqC5SKQQDK4OKB6NQjTf4bBsw92MpIoHpPNszEEHngfUMI5UWo4+cxI4UKn2Xofk3V679BY03sMJ1QOL/hSljUqxCcm7n8NKIy9wNiLVU47Kf6mfRpCgArrjp7V0sws0Rm2YAMOkCGplC1DGjkDc0J2SyR3u7V61eyn+YeLT/sdRY8c3Azoc9BuJ/sD366iQVteTiqE97qIeCUiWN6YimRw4GgyI2yWz+VUv/o2bFATNxP5bKqKWgK+tNP25ub37dbteLp6WP55Wm3XJr85Po1kKg+oI3N1VDFs/a51e5YNzPzSFOL7udMMXG8XXaJVYc7zzQ63ibIvQqX1RuEKfbQGoGPDaFsNoC+NPkT8e9eMB+r4/9EcTP554/v+mwMveci97td8pD52yXt4tpOY9Mra4UrXTc6banDjOS51fWHKQyhR+dSn1TCVAe9vUus/QSOuCOPVq0jRmR8LiWehcXaLQIREHre3MLuX8kb1h6MynnsW3aFxCbJu0OqKy9i0gz/35fZmklE49G75nGSn5FlRjxb8
Browser:
Chrome: Version 75.0.3770.80 (Official Build) (64-bit)
Operating System:
win 10 64 bit
Thanks for reporting this @asafMasa. This is a regression from when we implemented the ImageBitmap decoding (https://github.com/AnalyticalGraphicsInc/cesium/pull/7579). The problem happens when an imagery request returns 204 (no content). With the ImageBitmap code-path, it just returns undefined, where it should be rejecting that promise instead:
https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Core/Resource.js#L1875
I'm going to open a PR with a fix shortly. In the mean time, as a work-around, you can disable ImageBitmap decoding by putting this snippet at the top of your code, before creating the viewer:
Cesium.Resource.supportsImageBitmapOptions = function(){
return Cesium.when.resolve(false);
};
I think this is the same issue as reported by https://github.com/AnalyticalGraphicsInc/cesium/issues/7817 (possible https://github.com/AnalyticalGraphicsInc/cesium/issues/7735 as well). Your code example helped a lot in tracking this down!
thanks!
it works 馃憤
Most helpful comment
Thanks for reporting this @asafMasa. This is a regression from when we implemented the ImageBitmap decoding (https://github.com/AnalyticalGraphicsInc/cesium/pull/7579). The problem happens when an imagery request returns 204 (no content). With the ImageBitmap code-path, it just returns undefined, where it should be rejecting that promise instead:
https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Core/Resource.js#L1875
I'm going to open a PR with a fix shortly. In the mean time, as a work-around, you can disable ImageBitmap decoding by putting this snippet at the top of your code, before creating the viewer:
I think this is the same issue as reported by https://github.com/AnalyticalGraphicsInc/cesium/issues/7817 (possible https://github.com/AnalyticalGraphicsInc/cesium/issues/7735 as well). Your code example helped a lot in tracking this down!