[Kde-games-devel] Kalzium Similations/Games and your new code

Mauricio Piacentini mauricio at tabuleiro.com
Thu Sep 21 15:59:00 CEST 2006


Jaison Lee wrote:
> Is this KBoard thing good enough that we should consider putting it
> right into kdelibs? If QGV really has as bad performance as people are
> saying[1] there are probably lots of apps that may decide to use
> something more light-weight.

Yes, that was my initial proposal. It is a good solution specifically 
for applications that need a canvas but do not need transformations, 
scaling, etc.

> Also, there has been previous discussion about making a kdegameslibs
> module similar to what kdepimlibs is, which seemed like a good idea to
> me and would definitely help if we keep KBoard in libkdegames.

I am only worried about maintenance. If we can sort it out during 
aKademy I believe it should be included.

Please :) add your opinions to the wiki page, so we can advance this 
discussion during aKademy, and post a summary to the list to get 
comments immediately after it.

> [1] So far I have heard multiple people say that QGV is both really,
> really fast and really, really slow, so I don't know what to believe
> anymore. :)

I can write a little bit about this, having used QGV intensively in more 
than one project during this beta phase. You can read more about these 
experiences at qt4-preview-feedback. But to keep it short, it can be 
very good, or very bad. It is not a one-stop solution for everything, 
and at the same time is very good for some types of applications.

It all depends on the needs of your app. For turn based games for 
example it is a good fit, it is also nice for new applications or 
rewrites (like the KReversi one) that can benefit from implementing the 
model/view architecture. If you do not need scaling it also performs 
well. For non-game applications I believe the decision to use QGV is a 
natural one.

In other cases (like KGoldrunner) there are currently some performance 
issues when using scaled pixmaps. It *seems* like it is really an issue 
with the X server, but made worse in some typical QGV scenarios. For 
these situations using QPainter directly is best, and the kboard canvas 
is a very nice encapsulation of direct QPainter access via a subclassed 
QWidget, with optimal redraw management.

If (when :)) we include it in kdegames we should document these 
differences clearly, so people know the rationale behind the decision.

Regards,
Mauricio Piacentini


More information about the kde-games-devel mailing list