Enhance the rendering bitmap API and GPU usage also using shaders on the GPU
Right now the bitmap APi is primitive and needs more functionality as well as performance enhancements. We also need more functionality on the GPU, especially the shaders and 3D abilities in WPF. This would give game developers some serious power instead of what we have now.
Gareth Curtis commented
We need PNG encoding because we send an encoded PNG to the server. It would be nice if support for image encoders / decoders was built into the framework.
Andrew Skalkin commented
Have you guys seen WriteableBitmapEx? This looks like a step in the right direction.
Jackov Kolodni commented
Keep in mind to support good drawing performence
Current implementation has different bugs such as memory leaks and security restrictions - an improvement is required so much
Xiaoting Liu commented
we using sl4 develop a mmorpg，we need this so much
Something else that hasn't been noticed is that if SL supported full GPU rendering + any shader language > HLSL 2, this would open up the GPU for all sorts of other calculations. For instance, if you wanted to use the GPU for a physics engine, or for H.264 encoding, or for acoustic echo cancellation, or . . . well, really anything that managed code currently makes it difficult to do. It's possible to do a little of that now (see http://forums.silverlight.net/forums/p/181911/413814.aspx), but it could be improved dramatically.
It 's very usable for our projects.
It would also be nice if the HW rendering pipeline supported the 3d transform and bitmap effects (on PC and Mac of course)
Andrew Marshall commented
There are two distinct issues here, I think that extending the bitmap API ( there is already an item for making DrawingContext available, which I think is far more important ) - would be more useful than extending pixel shader and GPU support.
I agree with billreiss, we really need better blitter functionality like in WPF WriteableBitmap, but would add that image scaling in general must allow controlling the underlying magnification filter. WPF allows this via the RenderOptions.BitmapScalingMode attached property that can be applied to an Image element. I really need BitmapScalingMode=NearestNeighbor to avoid fuzziness and washed out colours caused by the default magnification filter.
Noticed: Big Silverlight + Big DirectX = Flash wins (unfortunately).
See also my two suggestions about adding JPEG decoder/encoder classes, which would allow for full image manipulation in a background thread, without blocking the UI thread (especially when using SetSource to load an image from a stream)
For the bitmap API, fast bulk array copy and blitting would be great, ideally with the ability to blit scaled and rotated.
On par with WPF or sub Direct3d would be great.