Qt

Qt 5.9 ベータ版をリリースしました

Published Monday April 10th, 2017 | Leave a comment
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Qt 5.9 Beta Released を翻訳したものです。 執筆: Tuukka Turunen, 2017年4月7日 Qt 5.9 のベータ版を本日リリースいたしました。今回のリリース以降はバイナリのインストーラー経由で Qt 5.9 で導入されたすばらしい新機能の数々をお試しいただけます。このリリースではみなさんがオンラインインストーラー経由で今後のリリースにアップデートできるようリリースプロセスを見直しました。 5月末に正式リリース予定の Qt 5.9 では Qt 5.7 や 5.8 ではじめたいくつかの作業が完了しました。Qt 5.6 LTS 以来、C++11 のさらなる活用や、新しいビルドのカスタマイズシステム、描画エンジンの刷新、新しい Qt Quick Controls、Wayland のマルチプロセス対応、Qt 3D など様々な新機能が追加されてきました。また特に組み込みのハードウェアでにむけたパフォーマンスの改善がなされてきました。Qt 5.9 上で動く Qt アプリケーションが様々な Qt の機能を活用できるだけではなく、至上最高のパフォーマンスと安定性で動作することがゴールになります。 Qt 5.9 ではリリースプロセスを少し改善しました。本日リリースしたベータ版以降、オンラインインストーラー経由でさらにいくつかのベータ版のリリースを配信する予定です。これによってユーザーのみなさんが新しいバージョンを試して、フィードバック(bugreports.qt.io を通して)を送っていただくのが簡単になる予定です。ベータ版のフェーズでは1、2週間のサイクルでいくつかのリリースをする予定です。このサイクルで十分な品質に達した時点でリリース候補版を作成し、Qt 5.9.0 の正式バージョンをリリースする予定です。これらはすべてオンラインインストーラー経由で入手可能で、今後のベータリリースやリリース候補版に関してはブログ記事は書かない予定です。それぞれのベータ版に関してはバイナリに加え、それぞれソースパッケージも提供されますので、ご自身でビルドをしていただくことも可能になります。 一人でも多くの方がこの Qt 5.9 のベータ版をインストールし、色々試して […]

Read More

Qt 5.9 でのシェーダーバイナリのキャッシュによるパフォーマンスの改善

Published Wednesday April 5th, 2017 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の Boosting performance with shader binary caching in Qt 5.9 を翻訳したものです。 執筆: Laszlo Agocs, 2017年3月23日 Qt 5.9 のリリースが近づいてきました。というわけで、Qt Quick (および OpenGL を利用した QPainter の描画)のベースとなっている OpenGL の重要な部分に関して行った、わずかですが非常に便利な改善について紹介したいと思います。 Qt 5.9 のドキュメントのスナップショットを見た方の中には 由緒正しい QOpenGLShaderProgram に追加されたいくつかの機能 に気づいた方もいるかもしれません。これは Qt の内部で利用していた API がこの新しい API になりました。これは実際どういうものでしょうか? ここで説明しているように、これらのシェーダープログラムのバイナリが GL_ARB_get_program_binary もしくは OpenGL ES 3.0 の同様の標準機能を用いてディスクに保存されるようになります。ドライバがこの機能を提供していない場合には、キャッシュがない場合と同様の動作になります。キャッシュファイルは書き込み可能な キャッシュ用の場所 に、グローバルもしくはプロセスごとに生成されます。これにより、2回目以降に同じシェーダーのプログラムが使われる場合のパフォーマンスが大幅に改善されます。 実際にどの程度の改善になるでしょう?これは一概にはなんとも言えません。ここ数年、このようなキャッシュを行うようになったドライバもありますし、パイプラインに似たような機能が実装されているドライバも世の中には存在しますが、現時点で市場に出回っているデバイスでは非常に大きな効果がありました。 ここで実際の数値は気にしないでください。重要なポイントは Qt […]

Read More

QtLocation の OpenStreetMap プロバイダーの提供について

Published Wednesday April 5th, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Provisioning OpenStreetMap providers in QtLocation を翻訳したものです。 執筆: Paolo Angelelli, 2017年3月9日 背景 この記事は Qt 5.6.2 の QtLocation の OpenStreetMap プラグインに対して行った振る舞いに関わる変更を明らかにするためのものです。これらの変更には紛らわしい側面もあったため、改めて説明したいとおもいます。 この OSM プラグインにはタイル用のサーバーの URL がハードコードされていて、その中に含まれる様々なタイプの地図が利用できるようになっていました。利用頻度の高いメインの(道路)地図と衛星地図のタイルは元々はは open.mapquest.com から取得していました。2016年7月に、MapQuest がこのサービスを 廃止した ため、世の中の Qt 5.6.1 以前と 5.7.0 の QtLocation の OSM プラグインを利用した地図は、以下のような MapQuest のウェブサイトとサービスの購入のお知らせのタイルが表示されるようになってしまいました。 Qt 5.6.2 未満の MapViewer がひどい見た目に 解決方法 また同じような状況に陥らないように、ワンクッション挟むようにこの問題を修正することにしました。OSM プラグインを地図のタイプのためのプロバイダーの定義ファイルを maps-redirect.qt.io から取得するように変更しました。このファイルの形式は一般的に用いられる形式(TileJSON […]

Read More

Qt 5.8.0 での QML のパフォーマンスの改善について

Published Wednesday April 5th, 2017 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の Qt QML Performance improvements in Qt 5.8.0 を翻訳したものです。 執筆: Alex Blasche, 2017年3月8日 Qt 5.8 では大幅な Qt QML のパフォーマンスの改善がなされました。数人のエンジニアが多くの時間を費やし、どこがどう遅いのか、どう改善できるのかを調べました。これは Qt QML を最初にリリースした時から常に継続していることで、今後もこれは続くでしょう。ある程度の検討を重ねた結果、実際にどういう作業が行われているかをわかりやすくすることにしました。この長期に渡るプロジェクトを通していくつものパフォーマンス関連のツールや社内外のエンジニアによるベンチマークに関するノウハウが蓄積されています。これにより複雑なアレコレを一般化することが可能になりました。 起動時間 Qt 5.6.2 と Qt 5.8.0 で、グラフィカルと非グラフィカルなベンチマークで起動時間を比較してみました。対象のプラットフォームは Windows と Ubuntu、macOS、iMX6 ボード(この中で唯一32bitの環境になります)です。起動時間は以下の Qt の環境で確認しました。 Qt 5.6.2 Qt 5.6.2 + 商用の Qt Quick Compiler (qmlcompiler) Qt 5.8.0 + QML キャッシュなし Qt […]

Read More

Qt Installer Framework 2.0.5 をリリースしました

Published Wednesday April 5th, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Qt Installer Framework 2.0.5 released を翻訳したものです。 執筆: Katja Marttila, 2017年3月2日 本日 Qt Installer Framework 2.0.5 をリリースいたしました。 今回のリリースはバグフィックスのリリースとなっており、修正されたバグの一覧は Changelog にてご確認いただけます。 Installer Framework のバイナリはオンラインインストーラー経由でもインストール可能です。バイナリは download.qt.io(オープンソース版)もしくは Qt Account からもダウンロード可能で、ソースコードも同様です。これらのバイナリは Qt 5.6.0 でビルドされています。要求される最小バージョンは 5.5.0 になります。 2.0 ブランチでのバグ修正は引き続き行う予定ですが、master ブランチを元に 3.0 のリリースも視野にいれています。3.0 には数多くの新機能が含まれる予定ですがそれはまた別の機会にお知らせします。

Read More

Qt Quick の OpenVG 対応

Published Tuesday April 4th, 2017 | Leave a comment
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Getting more out of Qt Quick with OpenVG を翻訳したものです。 執筆: Andy Nichols (nezticle), 2017年3月31日 Qt 5.9 では Qt Quick アプリケーションを OpenVG を利用して描画することが可能になりました。これは EGL と OpenVG によって Qt Quick のシーンを描画するための新しいシーングラフの拡張対応によって可能になりました。Qt for Device Creation が対応している環境の中には、これまでソフトウェアによる描画しか選択肢が無かったハードウェアでもグラフィックスのアクセラレーションが可能になるものがいくつかあります。 OpenVG とは?(既に知っている方は… OpenVG ってマジ? ) OpenVG は 2D のベクターグラフィック向けのハードウェアアクセラレーションの API です。ハードウェアを利用したパスや画像の描画を API として提供しています。OpenVG 1.1 は Khronos Group […]

Read More

アップルプラットフォーム向けの Qt の最新情報

Published Saturday March 18th, 2017 | Leave a comment
Posted in Qt | Tags: , , , , ,

この記事は The Qt Blog の What’s New in Qt on Apple Platforms を翻訳したものです。 執筆: Jake Petroules, 2017年1月30日 ※注: この記事内で使われる「アップルプラットフォーム」はアップル社が現在提供している4つのすべての OS (macOS, iOS, tvOS, watchOS) を指しています。 今回私は Qt 5.8 リリースにおけるアップルプラットフォームについて紹介したいと思います。 新しいプラットフォーム まず初めに、Qt は 5.8 で Apple TV と Apple Watch の技術プレビューレベルの対応をいたしました。これによりすべてのアップルプラットフォーム (macOS, iOS, tvOS, watchOS) に対応することになります。 tvOS (Apple TV) Qt の tvOS 対応の 95% は iOS […]

Read More

Qt 5.9 アルファ版をリリースしました

Published Friday February 24th, 2017 | Leave a comment
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Qt 5.9 Alpha Released を翻訳したものです。 執筆: Jani Heikkinen, 2017年2月23日 本日 Qt 5.9 のアルファ版をリリースしたことをみなさんにお伝えします。 Qt 5.9 アルファ版は5月末の Qt 5.9.0 リリースに向けた最初の重要なマイルストーンになります。 今回のリリースはソースコードのみの提供となります。バイナリについてはベータのリリースのタイミングでオンラインインストーラー経由で配布する予定です。 Qt 5.9 の新機能については「Qt 5.9 new features page」を参照してください。Qt 5.9 に含まれるいくつかの重要な機能の詳細については「Qt Roadmap for 2017」のブログ記事でも言及されています。 Qt 5.9 をお試しの際には、Qt Account のページか download.qt.io からソースパッケージをダウンロードしてください。 メーリングリスト や バグレポート にてフィードバックを受け付けていますので、ぜひお願いします。

Read More

Qt 3D Studio について

Published Tuesday February 21st, 2017 | 2 Comments on Qt 3D Studio について
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Introducing Qt 3D Studio を翻訳したものです。 執筆: Lars Knoll, 2017年2月20日 ここ数年、Qt の内外において 3D 技術を用いた UI 開発に関する様々な作業が続けられてきました。 本日は、近い将来 Qt の一部となる、非常に強力でデザイナーフレンドリーなツールの提供に向けて、大きな一歩を踏み出したことをみなさんと共有したいと思います。 NVIDIA により Qt のこれまでの歴史の中でも非常に大きな部類に入る貢献がなされました。デザイナーフレンドリーな 3D の UI オーサリングシステムである NVIDIA DRIVE™ Design Studio を Qt に貢献していただけることになりました。NVIDIA Design Studio は既に様々な業界の製品で幅広く使われている技術です。 この度の貢献は数十万行のソースコードからなり、ランタイムコンポーネントとデザイナーフレンドリーなツール、Qt への移植の3つになります。これにより、最先端の 3D のツールが Qt の世界で使えるようになります。この記事のタイトルのとおり、これを Qt 3D Studio という名前にすることにしました。 実際の動作は以下の動画をご覧ください: この移植をさらに進めて、デザイナーが簡単に 3D のユーザーインターフェースを […]

Read More

Wayland を使用したマルチ UI プロセス構成のデバイス開発

Published Wednesday January 25th, 2017 | Leave a comment
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Creating devices with multiple UI processes using Wayland を翻訳したものです。 執筆: Johan Helsing, 2017年1月23日 一昔前のユーザーインターフェースのあるデバイスでは、ユーザーインターフェースを実行するプロセスが1つだけあるような設計になっていました。これはユーザーインターフェースからデバイスをコントロールするためのロジックを分離したとても良い設計で、エンドユーザーの操作に対して即座に反応することができました。ハードウェアのコストが下がり性能が向上するにつれ、デバイスができることが増えてきました。ユーザーインターフェースは、非同期のイベントや様々なソースから発生する情報を表示するなど、以前より多くの役割を担う必要がでてきました。SMS のみに対応したシンプルな携帯電話が様々な機能を搭載したフィーチャーフォンに進化し、現在では10年前のパソコンよりも性能がよいスマートフォンがあたりまえになっています。スマートフォンのすべての UI をシングルプロセスで実行するなんて想像しただけで発狂しそうです。というわけで、複雑なデバイスのユーザーインターフェースの構築には同じような技術を導入してはいかがでしょうか? デバイスのユーザーインターフェースをマルチプロセス化するメリット: 安定性と堅牢性: アプリケーションを機能単位で複数に分割することにより、個々のアプリケーションの安定性を最大化でき、万が一あるアプリケーションがクラッシュしたとしても、他のアプリケーションには影響がありません。 開発の効率化: アプリケーションごとに担当するチームを分割することができ、他のチームの影響によるリスクを低減させることができます。 セキュリティ: システムや他のプロセスに対する最低限の権限でアプリケーションを実行することができます。 サードパーティーのアプリケーション開発: サードパーティのアプリケーション開発にデバイスを開放するのが容易になります。様々な UI ツールキットで開発されたアプリケーションを共存させることも可能です。 なぜ Wayland なのか? ユーザーインターフェースのプロセスを分割する決定をする際の技術的な課題は、いかに複数プロセスの画面出力をディスプレイに持っていくかになります。これまでの歴史的なアプローチは X を利用して、独自のウィンドウマネージャーを作成することでした。 最近のアプローチは X のよりシンプルな代替である Wayland を使うことです。 簡単に開発ができ、メンテナンスも楽 最新のグラフィックハードウェアを念頭においたモダンなウィンドウマネージメントの設計 プロトコルの拡張が容易 Wayland はウィンドウマネージメントの新しい業界標準 – 誰でも利用でき、誰でも拡張可能な共通プロトコル Wayland では「コンポジタ」が個々のクライアントのコンテンツをアレンジしてスクリーンに出力する役割を担います。 Qt の […]

Read More
Get started today with Qt Download now