Qt 4.8

UIKit lighthouse プラットフォームのアップデート

Published Wednesday August 17th, 2011 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は Qt Blog の “Update on UIKit lighthouse platform” を翻訳したものです。 執筆: Eike Ziller, 2011年8月9日 こんにちは。以前に「コンセプトの証明 – UIKit ベースの Lighthouse プラットフォーム」という記事を書いてからしばらく経ちました。そろそろ、その後の経過を説明する頃だと思いますので、皆さんが実際にテストする方法も含めて説明しようと思います。少し長い記事になりますが 🙂 。 (コミュニティで 4.8 以前の Qt を iOS に移植しようというプロジェクトも qt.gitorious.org に有りますが、それとは違うものですので混乱しないでください。) Lighthose が 成長した ので、UIKit プラットフォームプラグインも Qt 4.8 のベースとなるメインラインに入りました。そのため、Qt 4.8 のソースを取得すれば、iOS で Qt を試すことができます。取得と実行方法の詳細は後で述べます。また、あれから時間もあったので、運良く初期のバージョンから改良する時間を取ることができました。 OpenGL ES 1/2, パフォーマンス! プラットフォームプラグインは、ラスターペイントエンジンで画像に描画してスクリーンに転送するのではなく、今では OpenGL ES で描画を行います。とても良く動いていて、パフォーマンスが向上しました。 技術的対策: Qt の […]

Read More

Qt 4.8 での OpenGL のスレッド利用

Published Friday June 10th, 2011 | Leave a comment
Posted in Qt | Tags: ,

この記事は Qt Blog の “Threaded OpenGL in 4.8” を翻訳したものです。 執筆: Jason Barron 2011年6月3日 Qt の OpenGL モジュールを使用したことのある方ならば、OpenGL を別スレッドで動かしたいと考えたことがあるかもしれません。OpenGL の実装自体は(ほとんどが)リエントラントなので、それに対する障害はありません。実際、古めの記事ですが Qt Quarterly の [qt “第6回” l=qq06-glimpsing m=#writingmultithreadedglapplications v=qq] でその方法を説明しました。普段から OpenGL のコードを直接書いているような人々にとっては役に立つ記事ですが、Qt の有用なクラス群も別スレッドで使いたい場合にはどうでしょう。残念ながらそれらの Qt のクラスがスレッドセーフではなかったため、それは不可能でした。Qt 4.8 ではその修正を行い、多くの共通するシナリオのいくつかをサポートしました。X11 でこの新機能を使うには [qt “Qt::AA_X11InitThreads” l=qt m=#ApplicationAttribute-enum v=master-snapshot] アプリケーション属性を有効にして、GLX の呼び出しがスレッドセーフになるようにする必要があります。Windows と Mac OS X ではこの操作を行わなくても動くはずです。 バッファ交換スレッド GPU やそのドライバにもよりますが、swapBuffers() の呼び出しコストは(特に組み込みプロセッサでは)高くつくことがあります。多くの場合、この関数は GPU に全ての描画コマンドを現在のフレームに対して実行するように命じます。これが同期動作する場合、GPU が動いている間メインスレッドがブロックされます。スレッドには他にやるべき事がたくさんあるので、GPU の動作が終了するのをただ待っているのは無意味です。例えばその時間で、イベントループに戻ってネットワークやユーザからの入力を処理したり、次のアニメーションを準備したりできます。4.8 […]

Read More

Qt の C++0x 対応

Published Thursday June 9th, 2011 | Leave a comment
Posted in Qt | Tags: ,

この記事は Qt Blog の “C++0x in Qt” を翻訳したものです。 執筆: Olivier Goffart 2011年5月26日 QML と JavaScript テクノロジーに注目が集まっていますが、我々の幾人かはまだ C++ のコードの世界にとどまっています 😉 。C++ は C++11 (C++0x として知られていたもの)にアップグレードしようとしています。最終提案が C++ 標準化委員会によって四月に承認され、この夏には正式な規格書が発行される見込みです。C++11 についてご存じなければ、Wikipedia や C++0x FAQ 等の関連するページを読むことをお勧めします。 C++0x の目標の一つは、この言語をより簡単にすることです。機能を追加して学習内容を増やすだけではその達成は困難です。しかし、C++ の「ほとんどの場合で使用される」サブセットをより簡単に、より直感的にすることは期待できます。 C++0x を使用するために待つ必要がないというのは良い知らせです。すぐにでも使い始められます。あなたが使っているコンパイラは(GCC か MSVC 2010 であれば)、おそらく既に C++0x のいくつかの機能をサポートしています。 C++0x を Qt 4.7 といったリリース済みのバージョンの Qt で使うことも出来ますが、Qt 4.8 は C++0x を構成する新機能のいくつかをサポートしてリリースされます。 新しいマクロ コンパイラがサポートしている新機能に従って下記のマクロのそれぞれが定義されます。 […]

Read More
Get started today with Qt Download now