いつもDXライブラリに大変お世話になっております。
環境依存の問題であるような気もしていますが、以下の現象を確認いたしましたのでご報告します。
・SetUseDirect3D11(FALSE)で「Direct3D 11を使わない」設定で「ウィンドウモード」で実行し、
SetWindowSizeChangeEnableFlag(TRUE)などでウィンドウサイズを変えられるようにすると、
ウィンドウサイズが100%以外になったときに一部の環境で画面更新が停止する。
現象を確認できたDXライブラリのバージョンはVer3.17b、最終更新日時 2/20 0:35です。
検証に使用したソースコードは以下の通りです。
-------
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE) ; // ウィンドウモード
SetWindowSizeChangeEnableFlag(TRUE);// サイズ自由変更あり
SetAlwaysRunFlag(TRUE);
SetUseDirect3D11(FALSE); // Direct3D 11を使わない
if( DxLib_Init() == -1 ){ return -1;} // DXライブラリ初期化処理
SetDrawScreen( DX_SCREEN_BACK );
// ESCを押すまでループ、Enterでウィンドウサイズを100%に戻す
printfDx( "Enter = Window Size x1.00 ESC = Exit" ) ;
int count = 0;
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0){
// アニメーションする四角形を描画
int y_size = count * 4 + 100;
count = (count + 1) % 95;
DrawBox( 0, 0, 320, y_size, GetColor(255,100,100) ,TRUE); //ピンク
DrawBox( 320, 0, 640, y_size, GetColor(100,100,255) ,TRUE); //青色
// Enterでウィンドウサイズを戻す
if(CheckHitKey( KEY_INPUT_RETURN ) != 0){
SetWindowSizeExtendRate(1.0);
}
ScreenFlip();
ClearDrawScreen();
WaitTimer(16);
}
DxLib_End() ; // DXライブラリ使用の終了
return 0 ; // ソフトの終了
}
------
このソースを動かして現象が確認できた映像を撮影してありますので、よければご覧ください。
www.youtube.com/watch?v=byi2j_VKcQ8
【映像の状況】
・2つのディスプレイを「拡張」で繋いでいる状態で撮影しています。
・片方のディスプレイでは「ウィンドウの拡大縮小」を行っても画面更新が行われ続けますが、
もう片方のディスプレイ上では拡大率が100%以外になると画面更新が停止してしまうようです。
(映像では後者の状況でEnterで100%に戻して画面更新を再開させていますが、
マウスで画面サイズをちょうど100%に戻しても画面更新が再開されます)
・ソースのSetUseDirect3D11(FALSE);をコメントアウトする、つまりDirect3D 11を使用する場合は、
どのディスプレイでウィンドウの拡大縮小を行っても期待通りに画面更新が行われ続けるようです。
------
参考になるかは分かりませんが、自分の環境と、同様の報告をいただいた他の方の環境の2つのLog.txtをアップしておきます。
・自分のLog.txt
silversecond.com/mytmp/20170222_DxLib_Log1.txt
※状況:ディスプレイ2つを「拡張」ディスプレイにすると、片方のディスプレイ上で
ウィンドウ拡大した場合に画面更新が停止する。Direct3Dの11使用時は
どちらのディスプレイ上でも拡大縮小して問題なし。上のサンプルで得たものです。
・他の方からいただいたLog.txt
silversecond.com/mytmp/20170222_DxLib_Log2.txt
※状況:拡張も何もしていない1ディスプレイ上で拡大縮小後、画面更新が停止するそうです。
Direct3Dの11使用時は拡大縮小しても問題ないらしいとのこと。
(これは検証用のソースとは異なる別ソフトで得たLog.txtで、DXライブラリは3.17bの1/27版です)
----
これらが環境依存でどうにも対応できないような問題でしたら、
ウィンドウの拡大縮小機能を使わないようにすることも検討しております。
もし何かお分かりになられましたら、よければ情報をいただけますと幸いです。