Windowsでqt 5.0.1を使用しています。200k 以上のカスタム QGraphicsItem を作成しています。これらのカスタム アイテムに、マウス ホバー、マウス クリックなどの基本的な機能主義者を追加しました。このアイテムは静的です。しかし、これらのアイテムの上に、アニメーション化するいくつかのアイテム (最大 200) を追加します (さまざまなプロパティ アニメーション、スケール、不透明度など)。これらのアイテムをシーンに追加すると、比較的強力なワークステーションでは非常に遅くなります。
QGraphicsScene *scene = new QGraphicsScene();
scene->setSceneRect(0, 0, width, height);
scene->setBackgroundBrush(Qt::darkGray);
scene->setItemIndexMethod(QGraphicsScene::NoIndex);
QGraphicsView *view = new QGraphicsView( scene );
view->setRenderHint(QPainter::Antialiasing, false);
view->setResizeAnchor(QGraphicsView::AnchorViewCenter);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->resize( width, height );
view->setOptimizationFlags(QGraphicsView::DontSavePainterState);
view->setViewportUpdateMode( QGraphicsView::SmartViewportUpdate);
view->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
view->setCacheMode(QGraphicsView::CacheBackground);
view->setViewportUpdateMode( QGraphicsView::FullViewportUpdate);
view->show();
次のことを試しましたが、アンチエイリアシングが有効になっているように見えるため、レンダリングされたビューが非常に悪くなりますが、ピクセルラベルの精度が必要です。
view->setViewport(new QGLWidget( QGLFormat(QGL::SampleBuffers)));
いくつかの重要な Qt プログラミングのトリックを見逃していますか? 提案してください。コードを投稿したり、場合によっては詳細を説明したりできます。前もって感謝します。