Bonjour à tous,
Je refléchis au passage à Qt5 mais certains points me posent problèmes comme le rendu OpenGL.
A mes début sur Qt Quick 1, j'avais choisi le rendu soft plutôt qu'OpenGL.
Mais maintenant avec Qt Quick 2, OpenGL devient un passage obligé.
Malheureusement il y a une dégradation du rendu.
Pour du texte, on peut encore forcer le rendu soft avec "renderType: Text.NativeRendering".
Observer la différence de rendu avec cet exemple ci-dessous :
Je trouve le rendu OpenGL est plus homogène mais le rendu soft me semble plus nette surtout pour les petits caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128 import QtQuick 2.0 Rectangle { width: 1200 height: 1000 // scale: 4 Row { anchors.centerIn: parent spacing: 20 Column { Repeater { model: 56 Text { text: qsTr("But while the distance fields have many advantages, ") + (8.0 + index/10) font.family: "Arial" font.pointSize: 8.0 + index/10 } } } Column { Repeater { model: 56 Text { text: qsTr("But while the distance fields have many advantages, ") + (8.0 + index/10) font.family: "Arial" font.pointSize: 8.0 + index/10 renderType: Text.NativeRendering //antialiasing: true } } } Column { spacing: 30 Rectangle { x: 25; y: 25 width: 50; height: 50 border.width: 1 Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 border.width: 1 antialiasing: true Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 border.width: 1 smooth: true Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 border.width: 1 antialiasing: true smooth: true Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 rotation: 45 border.width: 1 Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 rotation: 45 border.width: 1 antialiasing: true Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 rotation: 45 border.width: 1 smooth: true Text { anchors.centerIn: parent text: "Box" } } Rectangle { x: 25; y: 25 width: 50; height: 50 rotation: 45 border.width: 1 antialiasing: true smooth: true Text { anchors.centerIn: parent text: "Box" } } } } }
Pour le reste comme un rectangle par exemple, on peut utiliser "antialiasing: true".
Le rendu du rectangle diffère avec Qt4 mais le problème me semble moins important et moins génant.
Est-il possible d'améliorer le rendu du texte ?
J'ai le souvenir d'avoir lu qu'on pouvait augmenter la résolution du rendu OpenGL mais je n'arrive pas à remettre la main dessus.
Cette augmentation est-elle possible ? Si oui, est-elle efficace ?
Merci
Environnement : Windows 7 64b, Qt 5.0.1 Mingw
Partager