Interesting.  I tried the layer.mipmap previously with no effect, I did’t catch 
that one needed to “enable” it too.  However, I just tried this, and although 
it created a different, marginally smoother result is is still very noticeably 
aliasing.  

Here is a move of that test:

http://c4.dev.s3.amazonaws.com/QMLImageRenderQuality2.mov

In fact this version is starting to look very similar to the results I was 
seeing with the font renders.

On Jan 21, 2014, at 11:50 PM, Gunnar Sletta <[email protected]> wrote:

> This is the expceted result. smooth: true uses bilinear filtering which is 
> what is supported in hardware. When scaling down, this starts to degrade. The 
> effect is drastic for high-contrast content like the edges of a font. Once go 
> get below 0.5x scale factor the sampling starts to ignore pixels and aliasing 
> become very visible. 
> 
> The preferred solution is to prepare raster content (images in your case) 
> close to the size you intend to show them. If you must scale them down, then 
> use mipmapping. With the image element, you can get this by doing:
> 
> Image {
>    layer.enabled: true
>    layer.smooth: true
>    layer.mipmap: true
>    ...
> }
> 
> However, by enabling the layer you get an extra texture copy of your rather 
> large image, so it might be preferable to implement a custom QQuickItem which 
> returns a QSGSimpleTextureNode with a QSGTexture with mipmapping.
> 
> cheers,
> Gunnar
> 
> On 22 Jan 2014, at 04:03, Joshua Kolden <[email protected]> wrote:
> 
>> I’m getting boxed in with rendering bugs on two fronts.  Originally I tried 
>> to work with fonts for the following animation, but have both render quality 
>> and font ‘subfamily’ selection bugs to deal with there. So I took the effort 
>> to switch a lot of stuff around and use images instead, however I’m getting 
>> aliasing artifacts now.  I’m rather stuck at the moment for rendering a good 
>> quality large font design.
>> 
>> This video shows the aliasing I’m talking about.  There are 3 images here 
>> one is 2048x512 and two are 512x512 for the Camera4 and C4 text logos.  The 
>> movie is captured pixel for pixel, and the images at their largest (in this 
>> example) are smaller then the source resolution.
>> 
>> http://c4.dev.s3.amazonaws.com/QMLImageRenderQuality.mov
>> 
>> Here is an example of one of the Image invocations:
>> 
>> Image {
>>   id: c4CameraImage
>>   fillMode: Image.PreserveAspectFit
>>   source: “path/to/c4camera.png"
>>   anchors.left: parent.left
>>   anchors.top: parent.top
>>   anchors.bottom: parent.bottom
>>   smooth : true
>>   opacity: 0.0
>> }
>> 
>> The animation is created with a number animation on the width and height of 
>> the parent rectangles.
>> 
>> I’ve asked on IRC, and in the [interest] list, but one said it should just 
>> work and the other didn’t reply.
>> 
>> Is this a known issue, a bug, or and I’m I doing it wrong?  
>> 
>> Thanks,
>> j
>> _______________________________________________
>> Development mailing list
>> [email protected]
>> http://lists.qt-project.org/mailman/listinfo/development
> 

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to