注釈付きマップを表示する MFC アプリケーションがありますが、これには大量のテキストが含まれる可能性があります。テキストのサイズとフォントはあまり変わらない傾向にありますが、周囲の線画に合わせるために、テキストの回転はかなり変化します。これは基本的に、回転が変わるたびに新しいフォントを作成して表示コンテキストに選択する必要があることを意味します。何かのようなもの;
if (TextRotationChanges)
{
m_pFont = new CFont;
m_lf.lfEscapement = NewRotation;
m_pFont->CreateFontIndirect(&m_lf);
}
CFont *OldFont = m_pDC->SelectObject(m_pFont);
m_pDC->TextOut(x,y,text,strlen(text));
m_pDC->SelectObject(OldFont);
大量のテキストを扱う場合、これは明らかに遅くなります。D3D や OpenGL などの別のディスプレイ エンジンに行かずにこれを高速化する方法はありますか? 別の言い方をすれば、既存の選択したフォントのテキストの回転を変更できますか?
nb テキストを描画する前に、テキストが目に見えるサイズで画面に表示されるようにするなど、他の明白な最適化を既に実行しています。