Qt3D

Qt3D のメモリ使用量の改善

Published Tuesday March 20th, 2018 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Memory usage improvements in Qt3D を翻訳したものです。 執筆: Svenn-Arne Dragly, 2018年02月13日 KDAB と Qt コミュニティのエンジニアと共に、Qt3D のパフォーマンスと安定性の改善の取り組みを行っています。昨年の11月に Qt3D の CPU の使用量の改善 に関する記事を書きました。今回はメモリ使用量の改善について共有したいと思います。 Qt3D はとてもフレキシブルなアーキテクチャで、GUI スレッド上で動作するフロントエンドと、描画や入力処理、アニメーションを担当するアスペクトによって構成されるバックエンドが分離されています。アスペクトはそれぞれのスレッド上で動作し、スレッドプール上で動作する様々なジョブを実行します。これにより Qt3D は必要な CPU のリソースを並列化できますが、データの複製を最小限にするように気をつける必要があります。データの複製量を削減し、バックエンドのオブジェクトのメモリ使用の仕組みを改善することで、メモリ使用量を大幅に削減することができました。 Simple C++ example のようなテクスチャやその他のアセットを一切持たない簡単なプロジェクトでもこの改善を体感することが可能です。 私の Linux マシンでこのサンプルを動かしたところ、Qt 5.6.3 では 92MB だったメモリ使用量が、Qt 5.9.4 では 47MB までに改善しました。 車載のクラスタ向けで社内で利用している、より複雑なアプリケーションでも同様の効果を確認できました。これは Qt Quick と Qt 3D でダッシュボードの電気自動車を描画しています。このデモはナビ、メディア、電気使用量といったいくつかのビューで構成されています。複数のテクスチャからなる車の 3D […]

Read More

Qt 3D でライトの数を増やしてみよう

Published Tuesday January 30th, 2018 | Leave a comment
Posted in Qt | Tags:

この記事は The Qt Blog の Increasing the number of lights in Qt 3D を翻訳したものです。 執筆: Svenn-Arne Dragly, 2017年12月05日 Qt 3D の Deferred Renderer では無限個のライトを使用したシーンの描画が可能ですが、Qt 3D Extras のデフォルトのマテリアルは Forward Rendering 用にできているためにライトを同時に8個までしか使用できないようになっています。いくつかのトリックを使うと9個以上のライトを定義できますが、描画時には近い順から8個のライトを選択してそれらを利用するようになっています。 以下のシーンでは、100個のライトを浮遊させていますが、一度に計算されるのは8個までのためにライトがついたり消えたりしているように見えると思います。 別のパイプラインを利用して更なるライトを利用することは可能ではありますが(Qt 3D Studio ランタイム の場合はそうなるでしょう)、Qt 3D Extras のデフォルトのマテリアルを、Forward Rendering を用いた場合でも、より多くのライトに対応させたいと思っています。 現在の制限の1つの理由は、様々な OpenGL のアーキテクチャーの対応のためで、シェーダーに渡せる uniform データの数に厳しい制限があるものもこれには含まれています。このため、ライトの構造体の小さな配列をシェーダーに渡し、フラグメントシェーダーでライトの数だけループを回すような処理になっています。残念ながらこのループはシェーダープログラムの膨大な処理のコンパイルが必要なため、リソースの制限があるハードウェア上ではとても重たくなります。これのせいでシェーダープログラムのコンパイルが通らないというケースもあります。 強力なハードウェアに向けてライトの数を増加でき、貧弱なハードウェアではシェーダーの処理数を減らすようなソリューションの取り組みをはじめました。これは KDABの Kevin Ottens によって最近追加された Qt 3D の新しい内部のシェーダーグラフを元にしています。 シェーダーグラフは […]

Read More

Qt 3D の CPU 使用量の改善

Published Monday December 4th, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の CPU usage improvements in Qt 3D を翻訳したものです。 執筆: Svenn-Arne Dragly, 2017年11月16日 前回の LTS である Qt 5.6 以降、様々な改善が Qt 3D に対して行われてきました。KDAB と The Qt Company のエンジニアが Qt 5.9 LTS に向けて様々な新機能の開発を行い、そのうちの多くが KDAB の Sean Harmer による What’s new in Qt 3D with Qt 5.9 にてカバーされています。さらなる新機能(例えば Vulkan 対応)が計画どおり進んでいますが、直近のリリースではパフォーマンスと安定性にも注力しています。パフォーマンスは実際に Qt 5.6 と比べると非常に改善していて、複雑なシーンや巨大なフレームグラフを持つシーンではこの改善による効果が顕著です。 多くのビューポートを持つシーンは、個々のビューポートがそれぞれのリーフノードに対応するため巨大なフレームグラフになりがちです。Qt 3D […]

Read More

Qt 3D の Qt5 / Qt4 ニュースとリリース

Published Monday April 23rd, 2012 | Leave a comment
Posted in Qt, ニュース, リサーチプロジェクト | Tags: ,

この記事は Qt Blog の “Qt 3D and Qt5 / Qt4 news and releases” を翻訳したものです。 執筆: sarasmit, 2012年04月11日 Qt 3D をヒットさせるために3年以上もの月日を費やしてきましたが、いよいよその日がやってきました。いまや Qt 3D は Qt5 に取り込まれ、すべてのプラットフォームにおいて QML でその魅力を高めたアプリの新世代の UI の中心となることでしょう。Qt 3D は Qt5 Essential(Qt5 必須モジュール) であるため、すべての Qt5 がサポートするプラットフォーム で動作するとともに、QML に OpenGL で高速化された 3D コンテンツをもたらします。これは我々チームにとっては素晴らしいニュースですし、プロジェクトで Qt 3D を既に使用されている方々や検討されている方々にとっても良いニュースです。 Qt 3D のファンでこれまでプロジェクトを追い続けてきた方々はご存じでしょうが、まだリサーチプロジェクトであったときから、その時にサポートされている Qt4 のバージョンに適合したパッケージを注意して作成、リリースしてきました。過去のリリースではすぐに使えるバイナリパッケージを Symbian^3 や N900、N9、そして Windows […]

Read More

Qt Quick 3D の新しいパッケージができました

Published Thursday September 29th, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags: , , ,

この記事は Qt Blog の “New Qt Quick3D Packages Available” を翻訳したものです。 執筆: thoughthorizon, 2011年9月19日 「3D 的なものを入れてみない?」と 2009 年に誰かが言ったのがきっかけで、最初は単純な Qt 向けの OpenGL バインディングだったものが、今ではすっかり成熟した Qt モジュールになりました。R&D プロジェクトから「本当の」Qt の一部になるまでは長い道のりでした。だからこそ Qt Quick 3D の 2 度目のテクノロジープレビューを公開できるのはとても嬉しいことです。 このプレビューは前回の 5 月の 発表に続くものです。前回のプレビューから学んだことを取り入れ、Qt Quick 3D をより効率的に、より完全に、そして全体的に(少なくとも私たちの意見では)改善しました。 コミュニティからの継続的で価値のあるフィードバックにお礼を申し上げたいと思います。何よりも Qt Quick 3D の開発を推し進めたのはこうした皆さんとのやり取りであり、これからもそうあり続けるでしょう。ここ4ヶ月ほどの間私たちは皆さんから報告していただいたバグを修正し、全ての主要プラットフォームで 3D フレームワークをより安定させ、拡張する為に努力してきました。現在サポートされているプラットフォームは以下のとおりです。 Symbian Meego 1.2 Harmattan Maemo いつものデスクトップ OS バグの修正に加え以下のような新しい機能も追加しました。

Read More

Qt Quick 3D がダウンロード可能になりました。

Published Monday May 23rd, 2011 | Leave a comment
Posted in リサーチプロジェクト | Tags: , ,

この記事は Qt Blog の “Qt Quick 3D Downloads Available” を翻訳したものです。 執筆: sarasmit 2011年5月20日 私が “Qt3D and its mission to bring Qt style to 3D programming with OpenGL” という記事を書いてから1年以上が経ちました。Qt3D は Qt の利便性と移植性を OpenGL にもたらすことを目的としたリサーチプロジェクトとして 2008/2009 年にスタートし、Qt の OpenGL API に新たなクラスを提供するという目的以上のものが提供されています。 しかし、現在では Qt と言えば Qt Quick です。このため Qt3D プロジェクトを移植性の高い C++ の API のセットから、素晴らしい 3D のスクリプト環境へと変えました。既に QML 3D […]

Read More
Get started today with Qt Download now