いつもお世話になっております。
ChangeFontTypeを毎ループ使用すると実行環境依存でエラーが起きることがあります。
----再現ソース----
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1)
{
return -1;
}
auto color = GetColor(255, 255, 255);
while (ProcessMessage() == 0)
{
ChangeFontType(DX_FONTTYPE_ANTIALIASING_8X8);
DrawString(0,0,"12345", color);
ChangeFontType(DX_FONTTYPE_NORMAL);
DrawString(0, 20, "67890", color);
}
DxLib_End();
return 0;
}
----ここまで----
----Log.txt----
0:ChangeWindowMode実行
0:ウインドウモードフラグが立てられました
7:DXライブラリの初期化処理開始
17: システムの情報を出力します
18: DXライブラリ Ver3.16d
18: 論理プロセッサの数 : 8
19: OS Windows8.1 ( Build 9600 )
120: 現時点のCPU動作速度:大体3.60GHz
120: MMX命令を使用します
121: SSE命令が使用可能です
121: SSE2命令が使用可能です
122: CPUベンダ:GenuineIntel
124: CPU名:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
125: COMの初期化... 成功しました
130: メモリ総量:16074.20MB 空きメモリ領域:14209.67MB
131: タイマーの精度を検査します
131: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
132: パフォーマンスカウンターを使用します タイマー精度 : 3514.605000 KHz
133: ソフトの二重起動検査... 二重起動はされていませんでした
134: ウインドウクラスを登録します... 登録に成功しました
135: ウインドウモード起動用のウインドウを作成します
135: ディスプレイ情報のセットアップ開始
136: モニターの数:1 ディスプレイデバイスの数:1
137: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 64Hz
138: ディスプレイ情報のセットアップ完了
140: ウインドウの作成に成功しました
141: ウインドウを表示します
148: IMEを無効にしました
149: ウインドウスタイルをウインドウモード用に変更します... 完了
175: DirectInput関係初期化処理
175: XInput DLL の読み込み中... 失敗、XInputは使用しません
177: DirectInput7 の取得中... DirectInput8 の取得を試みます...成功
206: 引き続き初期化処理... 初期化成功
207: ジョイパッドの初期化...
259: ジョイパッドの初期化は正常に終了しました
259: マウスデバイスの初期化... 初期化成功
260: キーボードデバイスの初期化... 初期化成功
264: DirectInput 関連の初期化は正常に終了しました
277: DirectSound の初期化を行います
278: DirectSound インターフェースの取得を行います.... 成功
284: 引き続きインターフェースの初期化処理... 初期化に失敗しました
292: エラーコード 88780078
293: d3d11.dll の読み込み.... 成功
298: dxgi.dll の読み込み.... 成功
299: API CreateDXGIFactory1 のアドレスを取得します.... 成功
300: IDXGIFactory1 を作成します.... 成功
304: API D3D11CreateDevice のアドレスを取得します.... 成功
305: IDXGIAdapter を取得します.... 成功
306: Direct3D 11 FeatureLevel 11_0 以上を対象とします
307: ID3D11Device オブジェクトを取得します.... 成功
319: IDXGIDevice1 を取得します.... 成功
319: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました
320: [ウインドウモード 640x480]
320: IDXGISwapChain を作成します.... 成功
322: IDXGIOutput を取得します.... 成功
323: Graphics Device:Microsoft Basic Render Driver
324: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
324: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です
324: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です
325: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です
325: カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
326: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です
326: DXT2テクスチャフォーマットは使えません
326: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です
327: DXT4テクスチャフォーマットは使えません
327: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です
328: ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です
328: ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です
328: ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です
329: 1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です
329: 1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です
330: 1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です
330: 1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です
331: 2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です
331: 2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です
331: 2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です
332: 2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です
332: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です
333: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です
333: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です
333: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です
334: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です
334: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です
335: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です
335: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です
335: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です
336: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です
336: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です
336: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です
337: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です
337: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です
338: 使用する機能レベル:D3D_FEATURE_LEVEL_11_1
338: 同時にレンダリングできるバッファの数:8
338: 最大テクスチャサイズ 幅:16384 高さ:16384
339: 標準描画用の頂点バッファの作成.... 成功
340: 深度バッファを作成します.... 成功
341: シェーダーコード関係の初期化.... 成功
501: 各種シェーダー用定数バッファの作成.... 成功
502: 各種 ID3D11InputLayout の作成.... 成功
572: 画像の単純転送処理の初期化... 成功
575: フォントの初期化を行います
576: フォントの初期化は正常に終了しました
577: 文字コードバッファの初期化を行います... 完了しました
579:DXライブラリの初期化処理終了
3503:テクスチャの作成に失敗しました
3504:テクスチャ文字キャッシュの作成に失敗しました
----ここまで----
手元の環境では、一台でしか再現しなかったので殆どの環境では再現しないと思います。
時間に余裕のある時に確認していただけると幸いです。