トップページ > 記事閲覧
特定のPCだけ画像が正しく表示しない現象が発生しました
名前:あっぷる 日時: 2021/11/02 10:19

いつもお世話になっております 特定のPCだけ画像が正しく表示しない現象が発生しました。 現象を確認するために画面の横いっぱいにpngを表示するだけのコードを以下のように書いたのですが、 特定のPCだけ画面右側3/1ほどが真っ暗になります。 GetDefaultState()にてPCのWindowサイズを求めて、その90%程度のサイズを計算してScreenSizeX, ScreenSizeYにセット、 SetGraphMode(ScreenSizeX, ScreenSizeY, 16); とした後、 ChangeWindowMode(TRUE); SetWindowStyleMode(10); SetAlwaysRunFlag(TRUE); SetTransColor(0, 255, 0); if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } SetDrawScreen(DX_SCREEN_BACK); SetDrawMode(DX_DRAWMODE_BILINEAR); string path = "壁紙.png"; int PictureHandle = LoadGraph(path.c_str()); int ImgSizeX = 0, ImgSizeY = 0; GetGraphSize(PictureHandle, &ImgSizeX, &ImgSizeY); double zoom = (double)ScreenSizeX / (double)ImgSizeX; while (ProcessMessage() == 0) { SetDrawArea(0, 0, ScreenSizeX, ScreenSizeY); ClsDrawScreen(); DrawRotaGraph(ScreenSizeX/2, ScreenSizeY/2, zoom, 0, PictureHandle, TRUE); ScreenFlip(); } 異常発生時のログをみるとDirectXの取得に失敗しているようです。 正常に表示するPCであれば、ログに問題なさそうです。 その異常が発生するPCでのDirextX診断プログラムでは正しくDirextX12が動作しているようです(細部に問題あるかもですが未確認です) 画像が欠ける要因として考えられるのは何がありますでしょうか? ハイカラー(16)指定したのも影響しますでしょうか? 使用したDxLibのVerは322fです 下記の件と似ているかもしれません https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=4181
メンテ

Page: 1 |

Re: 特定のPCだけ画像が正しく表示しない現象が発生しました ( No.1 )
名前:あっぷる 日時:2021/11/02 10:09

現象発生時のログです(数か所追加したログがあります) 0:ディスプレイ情報のセットアップ開始 5: モニターの数:2 ディスプレイデバイスの数:2 11: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz 23: No.1 モニター名:\\.\DISPLAY2 1920x1080 32bit 60Hz 68:ディスプレイ情報のセットアップ完了 143:ScreenSizeX=1727 149:ScreenSizeY=971 154:ChangeWindowMode実行 160:ウインドウモードフラグが立てられました 169:DXライブラリの初期化処理開始 177: システムの情報を出力します 183: DXライブラリ Ver3.22f 188: 論理プロセッサの数 : 4 194: OS Windows10 ( Build 18363 ) 204: COMの初期化... 成功 230: 非同期読み込み処理の初期化...成功 242: ファイルアクセス処理の初期化...成功 253: メモリ総量:12136.44MB 空きメモリ領域:5187.99MB 259: タイマーの精度を検査します 265: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 272: パフォーマンスカウンターを使用します タイマー精度 : 10000.000000 KHz 284: ソフトの二重起動検査... 二重起動はされていませんでした 303: ウインドウクラスを登録します... 登録に成功しました 315: ウインドウモード起動用のウインドウを作成します 333: ウインドウの作成に成功しました 339: ウインドウを表示します 477: IMEを無効にしました 485: ウインドウスタイルをウインドウモード用に変更します... 完了 519: DirectInput関係初期化処理 525: XInput DLL の読み込み中... 成功 540: DirectInput8 の取得を試みます...成功 587: 引き続き初期化処理... 初期化成功 617: ジョイパッドの初期化... 623: XInput 対応コントローラーのチェックを開始します 628: XInput 対応コントローラー No.0 をチェック 634: XInput 対応コントローラー No.0 の接続は確認できませんでした 640: XInput 対応コントローラー No.1 をチェック 646: XInput 対応コントローラー No.1 の接続は確認できませんでした 653: XInput 対応コントローラー No.2 をチェック 659: XInput 対応コントローラー No.2 の接続は確認できませんでした 665: XInput 対応コントローラー No.3 をチェック 671: XInput 対応コントローラー No.3 の接続は確認できませんでした 677: XInput 対応コントローラーのチェック完了 684: DirectInput 対応ジョイパッドの列挙を開始します 718: DirectInput 対応ジョイパッドの列挙終了 725: ジョイパッドの初期化は正常に終了しました 730: マウスデバイスの初期化... 初期化成功 743: キーボードデバイスの初期化... 初期化成功 763: DirectInput 関連の初期化は正常に終了しました 774: WASAPI の初期化を行います 791: デバイス名 : Digital Audio (S/PDIF) (2- High Definition Audio Device) 804: デフォルト遅延時間 : 10.000 ms 810: 最小遅延時間 : 2.667 ms 816: 遅延時間 : 10.000 ms 827: チャンネル数   : 2 ch 833: 量子化ビット深度 : 32 bit 839: 有効ビット深度  : 32 bit 845: サンプリングレート : 48000 Hz 852: データ形式 : 浮動小数点型 876: 動作モード : 共有モード 890: WASAPI の初期化は正常に終了しました 898: d3d11.dll の読み込み.... 成功 918: dxgi.dll の読み込み.... 成功 931: API CreateDXGIFactory2 のアドレスを取得します.... 成功 944: IDXGIFactory2 を作成します.... 成功 1011: IDXGIAdapter を列挙 1017: Adapter No.0 Desc:Intel(R) HD Graphics 1045: Output Device No.0 Name:\\.\DISPLAY1 1053: Output Device No.1 Name:\\.\DISPLAY2 1060: Adapter No.1 Desc:Microsoft Basic Render Driver 1066: API D3D11CreateDevice のアドレスを取得します.... 成功 1080: IDXGIAdapter を取得します.... 成功 1094: Direct3D 11 FeatureLevel 11_0 以上を対象とします 1101: ID3D11Device オブジェクトを取得します.... 失敗 1117: d3d11.dll の解放 1 1124: dxgi.dll の解放 1 1130: Direct3D11 のオブジェクト数を出力 1138: Direct3D11 のオブジェクト合計数 : 0 1148: DirectDraw オブジェクトの取得を行います.... 成功 1172: 引き続き初期化処理... 初期化に成功しました 1195: IDirect3D9Ex オブジェクトを取得します.... 成功 1217: IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました 1239: IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました 1259: IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました 1279: IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました 1297: d3d9.dll の解放 1 1304: DirectDraw オブジェクトの取得を行います.... 成功 1317: 引き続き初期化処理... 初期化に成功しました 1412: フォントの初期化を行います 1421: フォントの初期化は正常に終了しました 1450: 文字コードバッファの初期化を行います... 完了しました 1470:DXライブラリの初期化処理終了 1477:Version Info ( DxLibVer=322f, DirectXVer=70000, WindowsVer=10c) 23165:ジョイパッドの初期化... 23180: XInput 対応コントローラーのチェックを開始します 23193: XInput 対応コントローラー No.0 をチェック 23201: XInput 対応コントローラー No.0 の接続は確認できませんでした 23209: XInput 対応コントローラー No.1 をチェック 23217: XInput 対応コントローラー No.1 の接続は確認できませんでした 23226: XInput 対応コントローラー No.2 をチェック 23237: XInput 対応コントローラー No.2 の接続は確認できませんでした 23245: XInput 対応コントローラー No.3 をチェック 23251: XInput 対応コントローラー No.3 の接続は確認できませんでした 23259: XInput 対応コントローラーのチェック完了 23266: DirectInput 対応ジョイパッドの列挙を開始します 23300: DirectInput 対応ジョイパッドの列挙終了 23308:ジョイパッドの初期化は正常に終了しました
メンテ
Re: 特定のPCだけ画像が正しく表示しない現象が発生しました ( No.2 )
名前:あっぷる 日時:2021/11/02 10:30

異常が発生するPCのDirectX診断ログの一部です ------------------ System Information ------------------ Operating System: Windows 10 Pro 64-bit0 BIOS: BIOS Date: 10/17/11 11:18:49 Ver: 04.06.04 (type: BIOS) Processor: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz (4 CPUs), ~3.1GHz Memory: 12288MB RAM Available OS Memory: 12136MB RAM Page File: 5979MB used, 8012MB available DirectX Version: DirectX 12 DX Setup Parameters: Not found User DPI Setting: 96 DPI (100 percent) System DPI Setting: 96 DPI (100 percent) DWM DPI Scaling: Disabled Miracast: Not Available Microsoft Graphics Hybrid: Not Supported DirectX Database Version: Unknown DxDiag Version: 10.00.18362.1500 64bit Unicode ------------ DxDiag Notes ------------ Display Tab 1: No problems found. Display Tab 2: No problems found. Sound Tab 1: No problems found. Input Tab: No problems found. -------------------- DirectX Debug Levels -------------------- Direct3D: 0/4 (retail) DirectDraw: 0/4 (retail) DirectInput: 0/5 (retail) DirectMusic: 0/5 (retail) DirectPlay: 0/9 (retail) DirectSound: 0/5 (retail) DirectShow: 0/6 (retail) --------------- Display Devices --------------- Card name: Intel(R) HD Graphics Manufacturer: Intel Corporation Chip type: Intel(R) HD Graphics Family DAC type: Internal Device Problem Code: No Problem Driver Problem Code: Unknown Display Memory: 1760 MB Dedicated Memory: 128 MB Shared Memory: 1632 MB Current Mode: 1920 x 1080 (32 bit) (60Hz) HDR Support: Not Supported Display Topology: Extend Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 Output Type: HDMI Monitor Capabilities: HDR Not Supported Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP Advanced Color: Not Supported Driver Name: igdumd64.dll,igd10umd64.dll,igd10umd64.dll Driver File Version: 9.17.0010.4459 (English) Driver Version: 9.17.10.4459 DDI Version: 11.1 Feature Levels: 10_1,10_0,9_3,9_2,9_1 Driver Model: WDDM 1.2 Graphics Preemption: DMA Compute Preemption: DMA Miracast: Not Supported Detachable GPU: No Hybrid Graphics GPU: Not Applicable Power P-states: Not Applicable Virtualization: Not Supported Block List: No Blocks Catalog Attributes: N/A Driver Attributes: Final Retail Driver Date/Size: 2016/05/19 9:00:00, 12935296 bytes WHQL Logo'd: Yes WHQL Date Stamp: Unknown
メンテ
Re: 特定のPCだけ画像が正しく表示しない現象が発生しました ( No.3 )
名前:管理人 日時:2021/11/03 06:07

DXライブラリのログや DirectX診断ログを拝見する限り、そこそこ古いPCのようですね… ( Driver Date/Size: 2016/05/19 となっているので、少なくとも 5年前のPCのようです ) > 異常発生時のログをみるとDirectXの取得に失敗しているようです。 > 正常に表示するPCであれば、ログに問題なさそうです。 > 画像が欠ける要因として考えられるのは何がありますでしょうか? 仰る通り DirectX の取得に失敗していて、それが本件の原因となっています DirectX が取得できないとソフトウェアレンダリングモードでの動作になるのですが、 ソフトウェアレンダリングモードでの動作は制限が多いので、意図した描画結果が 得られていないのだと思います > その異常が発生するPCでのDirextX診断プログラムでは正しくDirextX12が動作しているようです(細部に問題あるかもですが未確認です) DirectX 12 はインストールされているようですが、Display Devices のログには Card name: Intel(R) HD Graphics DDI Version: 11.1 Feature Levels: 10_1,10_0,9_3,9_2,9_1 と出力されていて、DirectX 11.1 に対応した Intel (R) HD Graphics が搭載されていて、 ハードウェア的には DirectX 10.1 相当の機能まで対応しているようです DXライブラリは Feature Levels 11_0 以上に対応している場合のみ Direct3D 11 を使用して、 対応していない場合は Direct3D 9EX を使用するのですが、Direct3D 9EX の作成にも失敗しているようです… お手数で申し訳ないのですが、DxLib_Init の呼び出し前に SetUseDirect3DVersion( DX_DIRECT3D_9 ) ; という記述を増やすことで Direct3D 9EX の代わりに Direct3D 9.0 を使用するように設定することが 出来ますので、よろしければその設定であれば正常に動作するかお試し頂けないでしょうか? m(_ _;m > ハイカラー(16)指定したのも影響しますでしょうか? ハイカラーの指定は本件には関係は無いと思います
メンテ
Re: 特定のPCだけ画像が正しく表示しない現象が発生しました ( No.4 )
名前:あっぷる 日時:2021/11/04 10:41

いつもお世話になっております ログ解析とアドバイスありがとうございます ご指摘の方法を試してみます。 結果が判明いたしましたらご報告させていただきます
メンテ
Re: 特定のPCだけ画像が正しく表示しない現象が発生しました ( No.5 )
名前:あっぷる 日時:2021/11/25 09:10

いつもお世話になっております 本件ですが、対象のPCがWindowsのアップデートも失敗するほど正常な状態ではないそうで ソフトの動作対象から外すことになったそうです なので対応策の結果は不明のままではありますが、一旦クローズさせていただきます ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存