Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否所有WPF渲染变换都以双精度运行?_Wpf - Fatal编程技术网

是否所有WPF渲染变换都以双精度运行?

是否所有WPF渲染变换都以双精度运行?,wpf,Wpf,WPF以双精度存储其所有数据。我只想确认所有变换等都是以双精度运行的 我正在制作一个WPF画布,它是非常大的40000000 x 40000000,通过平移和缩放来放大它-在上面放置包含卫星图像的瓷砖。为了缩放和转换,我使用了一个TransformGroup,其中包含ScaleTransform和TranslateTransform 放大时,当您稍微调整scaletransform时,瓷砖似乎会摆动,就好像它们在画布上的位置略有变化一样,即使我所更改的只是scaletransform。我担心转换

WPF以双精度存储其所有数据。我只想确认所有变换等都是以双精度运行的

我正在制作一个WPF画布,它是非常大的40000000 x 40000000,通过平移和缩放来放大它-在上面放置包含卫星图像的瓷砖。为了缩放和转换,我使用了一个TransformGroup,其中包含ScaleTransform和TranslateTransform

放大时,当您稍微调整scaletransform时,瓷砖似乎会摆动,就好像它们在画布上的位置略有变化一样,即使我所更改的只是scaletransform。我担心转换不是以双精度完成的,而是以单精度运送到硬件中完成的

有没有办法控制渲染变换的精度?或者至少确认它使用的是双精度而不是单精度


谢谢。

不久前,我注意到了完全相同的事情:使用极限变换时渲染的位图将严重失真。我当时做的一些测试让我确信WPF确实会将转换转发到GPU,然后GPU使用单精度处理而不是双精度处理

我发现的唯一解决方法是简化转换。例如,与其为图像提供100000 x 100000个单位的大小和0.0001的比例因子,不如为其提供1个单位的大小和10的比例因子。翻译也是如此

根据您的设计,这可能意味着您的布局逻辑将变得更加复杂,因为您必须手动执行WPF将为您执行的一些计算。对于允许大范围缩放级别的应用程序,例如从整个地球的视图到单个建筑,似乎没有其他方法