DirectX9 Keeps Making Textures

Problems building or running the engine, queries about how to use features etc.
User avatar
EricB
Bronze Sponsor
Bronze Sponsor
Posts: 360
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 213

DirectX9 Keeps Making Textures

Post by EricB »

Ogre Version: 14.1
Operating System: Windows
Render System: DirectX9

Greetings,

DirectX9 keeps creating textures in 14.1 as if in a render loop. This issue causes a perception of UI lag, even though the FPS remains good. The OpenGL2 renderer does not have this issue. Nor does DirectX9 in Ogre 1.6, 1.7, 1.8, 1.11, or 1.12 do this.

Here is log file output of loading a scene in Ogre 1.11 DX9:

Code: Select all

22:52:00: Made It: 0
22:52:00: Texture: QuestionBox.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_EndturnIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_ReportsIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_MegaMenuIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_MemoIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_PhoneIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_MagazinesIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_MusicIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_NewspaperIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_DoorIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_SafeIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_WorldIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: tp_OptionsMenuIcon.dds: Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: CashIcon.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: ChartIcon.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: BankIcon.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: BillIcon.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: Exclaim.dds: Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
22:52:00: Texture: menuskin.label.dds: Loading 1 faces(PF_A8R8G8B8,64x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,64x16x1.
22:52:00: Texture: sp_PinIcon.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:52:00: Texture: SmallLeftArrow.dds: Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
22:54:44: Texture: menuskin.horizontal.bar.dds: Loading 1 faces(PF_A8R8G8B8,128x4x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x4x1.
22:54:44: Texture: QuestionMark.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:54:44: Texture: menuskin.combobox.dds: Loading 1 faces(PF_A8R8G8B8,128x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x16x1.
22:54:44: Texture: menuskin.combobox.button.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:54:44: Texture: menuskin.scrollbar.horizontal.dds: Loading 1 faces(PF_A8R8G8B8,128x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x16x1.
22:54:44: Texture: menuskin.scrollbar.horizontal.left.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:54:44: Texture: menuskin.scrollbar.horizontal.right.dds: Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:54:44: Texture: menuskin.scrollbar.horizontal.slider.dds: Loading 1 faces(PF_A8R8G8B8,64x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,64x16x1.
22:54:44: Texture: menuskin.checkbox.x-ed.dds: Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
22:54:44: Texture: menuskin.checkbox.unchecked.dds: Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
22:54:46: Leaving OfficeState...

This is the same scene, same code, in Ogre14.1 OpenGL2:

Code: Select all

22:20:28: Made It: 0
22:20:28: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'tp_EndturnIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_ReportsIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_MegaMenuIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_MemoIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_PhoneIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_MagazinesIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_MusicIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_NewspaperIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_DoorIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_SafeIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_WorldIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'tp_OptionsMenuIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) Internal format is PF_A8B8G8R8,32x32x1.
22:20:28: Texture 'CashIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'ChartIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'BankIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'BillIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'Exclaim.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) Internal format is PF_A8R8G8B8,16x16x1.
22:20:28: Texture 'menuskin.label.dds': Loading 1 faces(PF_A8R8G8B8,64x16x1) Internal format is PF_A8R8G8B8,64x16x1.
22:20:28: Texture 'sp_PinIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:20:28: Texture 'SmallLeftArrow.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) Internal format is PF_A8R8G8B8,16x16x1.
22:23:03: Texture 'menuskin.horizontal.bar.dds': Loading 1 faces(PF_A8R8G8B8,128x4x1) Internal format is PF_A8R8G8B8,128x4x1.
22:23:03: Texture 'QuestionMark.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:23:03: Texture 'menuskin.combobox.dds': Loading 1 faces(PF_A8R8G8B8,128x16x1) Internal format is PF_A8R8G8B8,128x16x1.
22:23:03: Texture 'menuskin.combobox.button.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:23:03: Texture 'menuskin.scrollbar.horizontal.dds': Loading 1 faces(PF_A8R8G8B8,128x16x1) Internal format is PF_A8R8G8B8,128x16x1.
22:23:03: Texture 'menuskin.scrollbar.horizontal.left.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:23:03: Texture 'menuskin.scrollbar.horizontal.right.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) Internal format is PF_A8R8G8B8,32x32x1.
22:23:03: Texture 'menuskin.scrollbar.horizontal.slider.dds': Loading 1 faces(PF_A8R8G8B8,64x16x1) Internal format is PF_A8R8G8B8,64x16x1.
22:23:03: Texture 'menuskin.checkbox.x-ed.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) Internal format is PF_A8R8G8B8,16x16x1.
22:23:03: Texture 'menuskin.checkbox.unchecked.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) Internal format is PF_A8R8G8B8,16x16x1.
22:23:07: Leaving OfficeState...

And here is the same scene, same code, with Ogre14.1 DirectX9:

Code: Select all

22:25:58: Made It: 0
22:25:58: Texture 'menuskin.window.panel.dds': Loading 1 faces(PF_A8R8G8B8,256x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_EndturnIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_ReportsIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_MegaMenuIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_MemoIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_PhoneIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_MagazinesIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_MusicIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_NewspaperIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_DoorIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_SafeIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_WorldIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'tp_OptionsMenuIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'menuskin.window.panel.dds': Loading 1 faces(PF_A8R8G8B8,256x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'CashIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'ChartIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'BankIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'BillIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'Exclaim.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
22:25:58: Texture 'menuskin.window.dds': Loading 1 faces(PF_A8R8G8B8,256x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
22:25:58: Texture 'menuskin.label.dds': Loading 1 faces(PF_A8R8G8B8,64x16x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x16x1.
22:25:58: Texture 'menuskin.panel.dds': Loading 1 faces(PF_A8R8G8B8,512x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x256x1.
22:25:58: Texture 'menuskin.label.dds': Loading 1 faces(PF_A8R8G8B8,64x16x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x16x1.
22:25:58: Texture 'menuskin.panel.dds': Loading 1 faces(PF_A8R8G8B8,512x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x256x1.
22:25:58: Texture 'menuskin.label.dds': Loading 1 faces(PF_A8R8G8B8,64x16x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x16x1.
22:25:58: Texture 'menuskin.panel.dds': Loading 1 faces(PF_A8R8G8B8,512x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,512x256x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'sp_PinIcon.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:25:58: Texture 'menuskin.button.dds': Loading 1 faces(PF_A8R8G8B8,64x64x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,64x64x1.
22:25:58: Texture 'SmallLeftArrow.dds': Loading 1 faces(PF_A8R8G8B8,16x16x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
...
22:30:03: Texture 'menuskin.window.panel.dds': Loading 1 faces(PF_A8R8G8B8,256x256x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_EndturnIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_ReportsIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_MegaMenuIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_MemoIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_PhoneIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_MagazinesIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_MusicIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_NewspaperIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_DoorIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_SafeIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'tp_WorldIcon.dds': Loading 1 faces(PF_A8B8G8R8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
22:30:03: Texture 'QuestionBox.dds': Loading 1 faces(PF_A8R8G8B8,32x32x1) with 0 custom mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
...

And that loops on for several dozen times over a seconds and will continue for as long as you leave the program running.

Any idea?

Image
paroj
OGRE Team Member
OGRE Team Member
Posts: 2251
Joined: Sun Mar 30, 2014 2:51 pm
x 1227

Re: DirectX9 Keeps Making Textures

Post by paroj »

can you put a breakpoint in the texture loading code an debug what triggers the re-loading?

User avatar
EricB
Bronze Sponsor
Bronze Sponsor
Posts: 360
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 213

Re: DirectX9 Keeps Making Textures

Post by EricB »

paroj wrote: Wed Mar 06, 2024 1:22 pm

can you put a breakpoint in the texture loading code an debug what triggers the re-loading?

Sadly, I couldn't get a backtrace to produce anything of use. So, I played version wack-a-mole. But because this game is in maintenance mode and I'm only doing crowdfunded contract work on it, I had to use my underpowered 10-year-old spare laptop when I'm out of the office. (Typically cleaning house.)

Suffice to say, it took a while. I digress.

I narrowed it down to this comment: https://github.com/OGRECave/ogre/commit ... 56655afd21

I reverted the changes to OgreTexture.cpp and OgreD3D9Texture.cpp in 13.1.0. It worked!

By the time you reached 14.1, you've added a little bit more to these functions, but I only commented out mLoadingState.store(LOADSTATE_LOADED); and mLoadingState.store(LOADSTATE_UNLOADED); from the two OgreTexture.cpp functions and it works!

Any thoughts or ideas?

I have not tested it yet in bare metal, but because I could duplicate the issue in the VM, and resolved it there, I firmly believe that's the root cause. I have not tried the GL2 renderer yet to see if it causes any new issues. I will do both in about 1-3 months before pushing it out to the general public.

With that update, if I finish ahead of schedule, I plan on making an open-source test bed for this game to narrow down engine-related bug fixes in the future.

Image
paroj
OGRE Team Member
OGRE Team Member
Posts: 2251
Joined: Sun Mar 30, 2014 2:51 pm
x 1227

Re: DirectX9 Keeps Making Textures

Post by paroj »

what does your D3D9 config look like, specifically:

Code: Select all

[Direct3D9 Rendering Subsystem]
Auto hardware buffer management=Yes
Allow DirectX9Ex=No
Resource Creation Policy=Create on all devices

with the settings above, I cannot reproduce the problem; e.g. the Terrain sample loads a bunch of dds textures, but does not trigger that behavior.

do you call freeInternalResources manually somewhere? This is private API in Ogre 14, but maybe you still use it.

User avatar
EricB
Bronze Sponsor
Bronze Sponsor
Posts: 360
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 213

Re: DirectX9 Keeps Making Textures

Post by EricB »

paroj wrote: Sun Mar 24, 2024 11:24 pm

what does your D3D9 config look like, specifically:

Code: Select all

[Direct3D9 Rendering Subsystem]
Auto hardware buffer management=Yes
Allow DirectX9Ex=No
Resource Creation Policy=Create on all devices

No ini files, it's all in code with an xml settings file players modify. But as far as NameValuePairLists and DX9 setup:
Optional:
misc["border"] = "none";
misc["monitorIndex"] = sts::toString ( i_monitorIndex );

Not Optional:
misc["windowProc"] = Ogre::StringConverter::toString ( ( size_t ) Ogre::WindowEventUtilities::_WndProc );
misc["Allow DirectX9Ex"] = "Yes";

Additional setConfigOptions:

Code: Select all

defaults: 
colordepth = "32";
fsaa = "0";
fpm = "";
fullscreen = "No";
vsync = "Yes";
videores = "1280 x 720";
        
m_pRenderSystem->setConfigOption ( "Allow NVPerfHUD", "Yes" ); m_pRenderSystem->setConfigOption ( "sRGB Gamma Conversion", "No" ); m_pRenderSystem->setConfigOption ( "FSAA", fsaa ); m_pRenderSystem->setConfigOption ( "Floating-point mode", fpm ); m_pRenderSystem->setConfigOption ( "Full Screen", fullscreen ); m_pRenderSystem->setConfigOption ( "VSync", vsync ); m_pRenderSystem->setConfigOption ( "Video Mode", videores );

Changes to any of the above does not resolve the issue.

with the settings above, I cannot reproduce the problem; e.g. the Terrain sample loads a bunch of dds textures, but does not trigger that behavior.

I'm leaning on the issue being an interaction issue with OIS, along with my other recent bug thread. (That one I could not duplicate v13.4 and older. I haven't tried newer... yet.) It seems to generate more textures when I move the mouse. I don't want you chasing phantom bugs when there are more important things for you to address. I have a workaround. So it's a low priority if no one else is running into issues. Few people are probably trying to duct tape together a 15-year-old code base. :) I will eventually push out a cut-down copyfree engine sample. I will update this thread when that happens if you want to give it a spin and see the bug in action. Or if I find the root cause or a future version fixes it, I'll update.

do you call freeInternalResources manually somewhere? This is private API in Ogre 14, but maybe you still use it.

This function is not coming up in my client code or QuickGUI. Everything else that depends on Ogre is 1st-party sourced now.

Image