[Qt-jambi-interest] [Qt Jambi 4.4] OpenGL issues

Dimitri Frederickx info at dimitrifrederickx.be
Sat Mar 15 11:09:24 CET 2008


Hi,

I'm having a lot of OpenGL problems with Qt Jambi making it unusable in my 
application (On Mac OS X 10.5).

This is what I do: I'm creating a QGraphicsView. On that view I'm setting the 
viewport to an OpenGL widget: setViewport(new QGLWidget()). By doing this, a lot 
of problems pop up.

The reason that I want to use OpenGL for rendering is SVG. I have some large 
animated SVG files I want to show in high definition. When I don't use OpenGL, 
my animations are not fluent. From time to time the animation stops for a few 
milli seconds, and then going further but dropping some intermediate rendering. 
By introducing OpenGL my animations are rendered in a nice way.

Can someone help me?

Problems with OpenGL:

1. By using OpenGL, the quality of my graphics items is drastically reduced. 
When I resize my pixmaps, I'm using SmoothTransform. Without OpenGL my pictures 
look really nice and smooth, but with OpenGL I see little blocks around my 
pictures, no smooth lines, etc. How can I increase the quality of my items?

2. I have made a marquee (scrolling text) with the use of QGraphicsTextItem and 
QGraphicsItemAnimation. Without OpenGL this works smooth, but with OpenGL my 
text looks ugly because of the poor quality and because the scrolling suddenly 
doesn't happen as smooth as before.

3. Adding the setViewport line in my code makes my application crash when I quit 
it. 9 out of the 10 times my application crashes on a shutdown. When I don't set 
the viewport, everything works just fine. Here is a part of the error dump:

Process:         java [2002]
Path:            /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Home/bin/java
Identifier:      java
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  eclipse [125]

Date/Time:       2008-03-15 10:47:05.489 +0100
OS Version:      Mac OS X 10.5.2 (9C31)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000004
Crashed Thread:  1

Thread 0:
0   libSystem.B.dylib             	0x911289e6 mach_msg_trap + 10
1   libSystem.B.dylib             	0x911301dc mach_msg + 72
2   com.apple.CoreFoundation      	0x906f40de CFRunLoopRunSpecific + 1806
3   com.apple.CoreFoundation      	0x906f4d18 CFRunLoopRunInMode + 88
4   java                          	0x0000513e 0x1000 + 16702
5   java                          	0x0000258a 0x1000 + 5514

Thread 1 Crashed:
0   libQtCore.4.dylib             	0x072a2366 QObject::thread() const + 6
1   libQtOpenGL.4.dylib           	0x1d80eadb qt_gl_clean_cache(QString const&) 
+ 33
2   libQtOpenGL.4.dylib           	0x1d80ee0b qt_gl_pixmap_cleanup(long long) + 
79
3   libQtGui.4.dylib              	0x076d78e0 QPixmap::deref() + 62
4   libQtGui.4.dylib              	0x076d791f QPixmap::~QPixmap() + 33
5   libQtWebKit.4.dylib           	0x3106cbce QHash<int, 
QPixmap>::freeData(QHashData*) + 78
6   libQtWebKit.4.dylib           	0x30e2d4d3 __tcf_1 + 89
7   libSystem.B.dylib             	0x9115153c __cxa_finalize + 241
8   libSystem.B.dylib             	0x91151430 exit + 33
9   java                          	0x00004d43 0x1000 + 15683
10  libSystem.B.dylib             	0x91159c55 _pthread_start + 321
11  libSystem.B.dylib             	0x91159b12 thread_start + 34

Thread 1 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x1d80eac8  ecx: 0xb0800dfc  edx: 0xb0800d01
  edi: 0x020002ff  esi: 0x00000000  ebp: 0xb0800d78  esp: 0xb0800d78
   ss: 0x0000001f  efl: 0x00010282  eip: 0x072a2366   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x0000001f   gs: 0x00000037
  cr2: 0x00000004




More information about the Qt-jambi-interest mailing list