これには別の質問が必要だとは思わないので、この非常に関連性の高い質問を編集しています。
char* から wchar_t* に変換してテキストを描画するコードがありましたが、プログラム メモリが異常なペース (数分で 5,000 K から 1,500,000 に) 増加するため、メモリ エラーが疑われました。
私は mbstowcs() を疑っていましたが、今では問題を発見したと思います。
私は一般的に物事を描くために色を取得するかなり悪い方法を使用しています。
class MainClass {
public:
ID2D1SolidColorBrush* custom_color;
ID2D1SolidColorBrush get_rgba(float r, float g, float b, float a) {
// render is a validated ID2D1RenderTarget*
render->CreateSolidColorBrush(D2D1::ColorF(r,g,b,a),&custom_color);
return custom_color;
}
};
メモリ使用量の増加は、ほぼ確実にこの機能によるものです。このようなカスタム色を返すより良い方法はありますか?