Idxgiswapchain present failed error call of duty modern warfare remastered

Idxgiswapchain present failed error call of duty как лечить An integer that specifies how to synchronize presentation of a frame with the vertical blank. 0 — The presentation occurs immediately, there is no synchronization. 1 through 4 — Synchronize presentation after the nth vertical blank. 0 — Cancel the remaining time on the previously […]

Содержание

  1. Idxgiswapchain present failed error call of duty как лечить
  2. Return value
  3. Idxgiswapchain present failed error call of duty как лечить
  4. Remarks
  5. Flip presentation model queue
  6. Remarks
  7. Flip presentation model queue
  8. Лечение ошибки Direct3DDevice::Present failed (DEVICE REMOVE
  9. Return value
  10. IDXGISwapChain1::Present1 method (dxgi1_2.h)
  11. Idxgiswapchain present failed error

Idxgiswapchain present failed error call of duty как лечить

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

  • 0 — The presentation occurs immediately, there is no synchronization.
  • 1 through 4 — Synchronize presentation after the nth vertical blank.
  • 0 — Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 — Synchronize presentation for at least n vertical blanks.

If the update region straddles more than one output (each represented by IDXGIOutput), Present performs the synchronization to the output that contains the largest sub-rectangle of the target window’s client area.

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

Return value

Possible return values include: S_OK, DXGI_ERROR_DEVICE_RESET or DXGI_ERROR_DEVICE_REMOVED (see DXGI_ERROR), DXGI_STATUS_OCCLUDED (see DXGI_STATUS), or D3DDDIERR_DEVICEREMOVED.

Note The Present method can return either DXGI_ERROR_DEVICE_REMOVED or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.

Idxgiswapchain present failed error call of duty как лечить

Offical Statement from Activision on this:

Activision does not officially support the use of multiple monitors. We do not test on multiple monitor systems and cannot guarantee any level of functionality. This also includes SLI and Crossfire videocard setups.

Many games will not function properly on systems with multiple monitors. Common problems include crashing, failure to launch, or image distortion. If you are encountering any of these problems and are using multiple monitors you will need to disable the extra monitor(s) through the software for your video card or by physically disconnecting them from your machine.

This is just ridiculous!

28 июл. 2015 в 9:11

I will update my own topic with further details.
I have a ticket opened and will try to force this issu to be adressed.

7 авг. 2015 в 5:07 I’m running EVGA 970’s in SLI and I had to roll the drivers back to March and I haven’t had this crash since..

7 авг. 2015 в 7:29 I’m running EVGA 970’s in SLI and I had to roll the drivers back to March and I haven’t had this crash since..

Offical Statement from Activision on this:

Activision does not officially support the use of multiple monitors. We do not test on multiple monitor systems and cannot guarantee any level of functionality. This also includes SLI and Crossfire videocard setups.

Many games will not function properly on systems with multiple monitors. Common problems include crashing, failure to launch, or image distortion. If you are encountering any of these problems and are using multiple monitors you will need to disable the extra monitor(s) through the software for your video card or by physically disconnecting them from your machine.

This is just ridiculous!

Amazing — I had tried this and Crashing has stopped. Sucks only one monitor. Once I enabled the second monitor the Crashes returned. I this culprit.

27 мая. 2016 в 12:14

La solucion es ir a la carpeta del juego: c:/ archivos de programa x86 / steam / steamapps / common / call of duty advance warfare / _commonredist / directx / jun2010 /
y le dan boton derecho raton en DVXSETUP aplicacion y a propiedades, en la pestaña comptabilidad buscan el apartado configuracion y activan la «v» en la casilla ejecutar con una resolucion de pantalla de 640 x 840 y eso les solucionará el error del modo multijugador

C:/ Archivos de programa(x86) / seam / steamapps / common / Call of duty advanced Warfare / y bajan la ventana hacia abajo en busca de los dos ejecutables, veran que son los unicos archivos con foto de AW,
le dan al boton derecho de cada uno de ellos y activan: -Desabilitar el ajuste de escala de la pantalla si se usa la configuracion elevada de ppp,
pulsan aceptar y prueben de nuevo.

An app can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An app must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the DXGI_PRESENT_DO_NOT_SEQUENCE flag in the Flags parameter.

For info about how data values change when you present content to the screen, see Converting data for the color space.

For info about calling Present1 when your app uses multiple threads, see Multithread Considerations and Multithreading and DXGI.

Flip presentation model queue

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present1, the runtime shows frame A for only 1 vertical blank interval. The runtime terminates frame A early because of the sync interval 0 in frame B. Then the runtime shows frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.

Starting with Direct3D 11.1, consider using IDXGISwapChain1::Present1 because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.

For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.

Because calling Present might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.

Specifying DXGI_PRESENT_TEST in the Flags parameter is analogous to IDirect3DDevice9::TestCooperativeLevel in Direct3D 9.

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the DXGI_PRESENT_DO_NOT_SEQUENCE flag in the Flags parameter.

For info about how data values change when you present content to the screen, see Converting data for the color space.

Flip presentation model queue

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present, the runtime shows frame A for only 1 vertical blank interval. The runtime terminates frame A early because of the sync interval 0 in frame B. Then the runtime shows frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.

Лечение ошибки Direct3DDevice::Present failed (DEVICE REMOVE

В игре Call of Duty: Ghosts у многих происходит зависание игрового процесса и вылет игры с ошибками:

Direct3DDevice::Present failed (DEVICE REMOVED): DXGI_ERROR_DEVICE_HUNG (-2005270523)

«Видеодрайвер перестал отвечать и был восстановлен»

Происходит это из-за нехватки напряжения графического процессора GPU, т.к. заводские настройки низкие и видеокарта не справляется с игровыми нагрузками.
Лечится данная проблема с помощью программы MSI AfterBurner 2.3.1 Final.

Инструкция:
1. Открываете программу MSI AfterBurner.
2. Внизу интерфейса нажмите на кнопку дополнительных настроек «Settings».
3. В открывшемся окне поставьте галочки на пунктах:
«Разблокировать управление напряжением»
«Разблокировать мониторинг напряжения»
4. Нажмите «ОК» и перезапустите программу нажав «ДА».
5. В первом окне «Core Voltage (mV)» ползунком увеличьте напряжение на 12 единиц. Пример с видеокартой GeForce GTX 570 — с 1013mV до 1025mV. Можно и больше, но мне хватило. Если будете экспериментировать и прибавлять, то смотрите за температурой видеокарты.
6. Зафиксируйте настройки кнопкой «Apply».
7. Приятной игры без зависаний и вылетов на высоких настройках!

Для безопасности можно конечно опять заблокировать настройки, т.е. в дополнительных настройках «Settings», снять поставленные галки и нажать «ОК», но тогда со временем настройки возвращаются к дефолтным и начинаются опять вылеты. Не знаю почему это происходит, пару раз возвращал их обратно, а потом надоело и перестал их блокировать, играю нормально.

Подобные проблемы у меня были в играх: Far Cry 3, Assassin’s Creed IV: Black Flag, а особенно в Battlefield 3 и Battlefield 4. После данного лечения все нормализовалось, играю без вылетов.

Return value

IDXGISwapChain1::Present1 method (dxgi1_2.h)

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

  • 0 — The presentation occurs immediately, there is no synchronization.
  • 1 through 4 — Synchronize presentation after the nth vertical blank.
  • 0 — Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 — Synchronize presentation for at least n vertical blanks.

If the update region straddles more than one output (each represented by IDXGIOutput1), Present1 performs the synchronization to the output that contains the largest sub-rectangle of the target window’s client area.

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

A pointer to a DXGI_PRESENT_PARAMETERS structure that describes updated rectangles and scroll information of the frame to present.

Источник

Idxgiswapchain present failed error

Really really annoying having my game randomly cash in the middle of battle. My game runs perfect, no issues at all even performance wise. Run my game on top graphics or lowest IT CRASHES AND IS GETTING TO BE A OLD ISSUE REALLY QUICK.

My specs
Intel i5 4670k 3.4GHz CPU
8GB of Ram
2 internal 2 TB Harddrives with PLENTY of space left.
NVIDIA Geforce GTX 760
My memory size 2048 GDDR5.
I’ve Monitored my memory both for Motherboard ram AND GPU. No I haven’t ran out of space for my game to crash.

second computer specs
Intel i7 5860x Extreme Edition
GeForce GTX 780 Ti
1 internal 1 TB Harddrive. Still lots of space left.
Don’t use this computer much YET but STILL CRASHED in the middle of playing.

So whats the problem? Why does the game keep crashing? Whatever the message says its the same error offset 0x887a0005.

Never had this problem happen until a month ago. I’ve downgraded Graphics drivers. Same problem. I REALLY believe I started having this problem since the last DLC came out for Advance Warfare. I know I’m not the only person having this issue.

New update please Activision?
Really hate being at high level rounds during zombies and then random crashes.
Its fustrating and not gonna just start all over again, again, and. again.

Also please have a look at this thread of mine.
I also had this problem.

This is my system.
Windows 7 pro
Intel i7 3770k 3.5 gb cpu
Asus P8 Z77-VLK
GSkills DDR3 2400 16 gb
WD Velorap. 10000 rpm, 600 gb HDD
Asus AMD R9 390 gaming 8gb gpu
XFX XTR 750w psu
ViewSonic 24″ monitor

Last month I replaced my EVGA Nvidia gtx 970. Got rid of all Nvidia graphic card and game clocking drivers. Then seached the registry, directories, user files and got rid of all Nvidia folders. Got fresh, AMD R9 300 drivers. Even uninstalled and reinstalled the game. I still crash when I start the game. So I know the error is not only happening to Nvidia GTX gpu owners.
I even repaired my DirectX 11 and updated my chipset and bios. So I know it’s all good. I get some good game play in Battlefield 3 & 4, whereas the all the work I did paid off in fractional success. Even with CoD AW, it doesn’t do those debilitating crashes and freezes. Instead it black screens to the desktop. A minor league success.
When I did all my workaround fixes CoD AW played. But it crashes the first game and after restarting the game, it’s fine.
I know it’s not completely fixed and that annoys me. But when some guys use Afterburner and ramp the voltage .1mv or less, the crashes are gone. If it requires more voltage to run, I think the game update’s added graphics (DirectX 12 3D for Windows 10) is trying to draw more power pass the stock voltages to compensate a crash. Since DirectX 12 added 3D, DirectX 11 machines can’t resolve graphics fast enough or create 3D graphics so it crashes. It needs more power to over ride the 3D graphics. Ramping the voltage gives the gpu with DirectX 11 a chance to.
There’re a lot problems related to blackscreening but power is first at the top of the list. Graphic card makers in the last ten years have installed failsafe technology that if a problem arises from heat or software configeration, it downgrades the resolution to run preventing a crash.
I’m sure it’s a DirectX 12 problem with the new 3D updates from July to now. There is no DirectX 12 (with 3D) for Windows 7. I don’t know if there is for Window 8 but Windows 7 does not support it.
Maybe this is not so, but after doing so reading and searching blogs and sites, reading what’s happening to everyone, recent game updates seem to be a problem. Most likely since Window 10 arrived free with DirectX 12 3D.
I can only think Microsoft is pushing everyone to use Windows 10 and that’s a whole other conversation.

Источник

Обновлено: 08.02.2023

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

  • 0 — The presentation occurs immediately, there is no synchronization.
  • 1 through 4 — Synchronize presentation after the nth vertical blank.
  • 0 — Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 — Synchronize presentation for at least n vertical blanks.

If the update region straddles more than one output (each represented by IDXGIOutput), Present performs the synchronization to the output that contains the largest sub-rectangle of the target window’s client area.

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

Return value

Possible return values include: S_OK, DXGI_ERROR_DEVICE_RESET or DXGI_ERROR_DEVICE_REMOVED (see DXGI_ERROR), DXGI_STATUS_OCCLUDED (see DXGI_STATUS), or D3DDDIERR_DEVICEREMOVED.

Note The Present method can return either DXGI_ERROR_DEVICE_REMOVED or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.

Idxgiswapchain present failed error call of duty как лечить

5 мая. 2015 в 20:37
Game Crashes Randomly Direct X Error IDXGISwapChain: Present Failed
its only certain graphics cards it seems, you need to update the drivers so we can download them so that they are stable and work with our new cards i have the titan X cards in 4 way sli even if i disable sli and use 1 card it still happens.. and i see alot of other people complaining about this error as well
27 июл. 2015 в 7:21
27 июл. 2015 в 15:58
27 июл. 2015 в 18:54
I’m running EVGA 970’s in SLI and I had to roll the drivers back to March and I haven’t had this crash since..
28 июл. 2015 в 8:09

Offical Statement from Activision on this:

Activision does not officially support the use of multiple monitors. We do not test on multiple monitor systems and cannot guarantee any level of functionality. This also includes SLI and Crossfire videocard setups.

Many games will not function properly on systems with multiple monitors. Common problems include crashing, failure to launch, or image distortion. If you are encountering any of these problems and are using multiple monitors you will need to disable the extra monitor(s) through the software for your video card or by physically disconnecting them from your machine.

This is just ridiculous!

28 июл. 2015 в 9:11

I will update my own topic with further details.
I have a ticket opened and will try to force this issu to be adressed.

7 авг. 2015 в 5:07
I’m running EVGA 970’s in SLI and I had to roll the drivers back to March and I haven’t had this crash since..
7 авг. 2015 в 7:29
I’m running EVGA 970’s in SLI and I had to roll the drivers back to March and I haven’t had this crash since..

Any update on this? Is it still good?
try to disable shadows at all.. i know u have a 980 and it should be run but it doesnt.. we have 2 clan members who got same problem over months. every day dxcrash and after a tip from someone they disabled shadows and both got no dxerror again (4 days now)
7 авг. 2015 в 19:21

Offical Statement from Activision on this:

Activision does not officially support the use of multiple monitors. We do not test on multiple monitor systems and cannot guarantee any level of functionality. This also includes SLI and Crossfire videocard setups.

Many games will not function properly on systems with multiple monitors. Common problems include crashing, failure to launch, or image distortion. If you are encountering any of these problems and are using multiple monitors you will need to disable the extra monitor(s) through the software for your video card or by physically disconnecting them from your machine.

This is just ridiculous!

Amazing — I had tried this and Crashing has stopped. Sucks only one monitor. Once I enabled the second monitor the Crashes returned. I this culprit.

27 мая. 2016 в 12:14

La solucion es ir a la carpeta del juego: c:/ archivos de programa x86 / steam / steamapps / common / call of duty advance warfare / _commonredist / directx / jun2010 /
y le dan boton derecho raton en DVXSETUP aplicacion y a propiedades, en la pestaña comptabilidad buscan el apartado configuracion y activan la «v» en la casilla ejecutar con una resolucion de pantalla de 640 x 840 y eso les solucionará el error del modo multijugador

C:/ Archivos de programa(x86) / seam / steamapps / common / Call of duty advanced Warfare / y bajan la ventana hacia abajo en busca de los dos ejecutables, veran que son los unicos archivos con foto de AW,
le dan al boton derecho de cada uno de ellos y activan: -Desabilitar el ajuste de escala de la pantalla si se usa la configuracion elevada de ppp,
pulsan aceptar y prueben de nuevo.

Remarks

An app can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An app must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the DXGI_PRESENT_DO_NOT_SEQUENCE flag in the Flags parameter.

For info about how data values change when you present content to the screen, see Converting data for the color space.

For info about calling Present1 when your app uses multiple threads, see Multithread Considerations and Multithreading and DXGI.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present1.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present1, the runtime shows frame A for only 1 vertical blank interval. The runtime terminates frame A early because of the sync interval 0 in frame B. Then the runtime shows frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.

Remarks

Starting with Direct3D 11.1, consider using IDXGISwapChain1::Present1 because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.

For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.

Because calling Present might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.

Specifying DXGI_PRESENT_TEST in the Flags parameter is analogous to IDirect3DDevice9::TestCooperativeLevel in Direct3D 9.

For flip presentation model swap chains that you create with the DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the DXGI_PRESENT_DO_NOT_SEQUENCE flag in the Flags parameter.

For info about how data values change when you present content to the screen, see Converting data for the color space.

Flip presentation model queue

Suppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present.

A: 3, B: 0, C: 0, D: 1, E: 0

When you call Present, the runtime shows frame A for only 1 vertical blank interval. The runtime terminates frame A early because of the sync interval 0 in frame B. Then the runtime shows frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames B and C.

Лечение ошибки Direct3DDevice::Present failed (DEVICE REMOVE

В игре Call of Duty: Ghosts у многих происходит зависание игрового процесса и вылет игры с ошибками:

Direct3DDevice::Present failed (DEVICE REMOVED): DXGI_ERROR_DEVICE_HUNG (-2005270523)

«Видеодрайвер перестал отвечать и был восстановлен»

Происходит это из-за нехватки напряжения графического процессора GPU, т.к. заводские настройки низкие и видеокарта не справляется с игровыми нагрузками.
Лечится данная проблема с помощью программы MSI AfterBurner 2.3.1 Final.

Инструкция:
1. Открываете программу MSI AfterBurner.
2. Внизу интерфейса нажмите на кнопку дополнительных настроек «Settings».
3. В открывшемся окне поставьте галочки на пунктах:
«Разблокировать управление напряжением»
«Разблокировать мониторинг напряжения»
4. Нажмите «ОК» и перезапустите программу нажав «ДА».
5. В первом окне «Core Voltage (mV)» ползунком увеличьте напряжение на 12 единиц. Пример с видеокартой GeForce GTX 570 — с 1013mV до 1025mV. Можно и больше, но мне хватило. Если будете экспериментировать и прибавлять, то смотрите за температурой видеокарты.
6. Зафиксируйте настройки кнопкой «Apply».
7. Приятной игры без зависаний и вылетов на высоких настройках!

Для безопасности можно конечно опять заблокировать настройки, т.е. в дополнительных настройках «Settings», снять поставленные галки и нажать «ОК», но тогда со временем настройки возвращаются к дефолтным и начинаются опять вылеты. Не знаю почему это происходит, пару раз возвращал их обратно, а потом надоело и перестал их блокировать, играю нормально.

Подобные проблемы у меня были в играх: Far Cry 3, Assassin’s Creed IV: Black Flag, а особенно в Battlefield 3 и Battlefield 4. После данного лечения все нормализовалось, играю без вылетов.

Return value

IDXGISwapChain1::Present1 method (dxgi1_2.h)

An integer that specifies how to synchronize presentation of a frame with the vertical blank.

  • 0 — The presentation occurs immediately, there is no synchronization.
  • 1 through 4 — Synchronize presentation after the nth vertical blank.
  • 0 — Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
  • 1 through 4 — Synchronize presentation for at least n vertical blanks.

If the update region straddles more than one output (each represented by IDXGIOutput1), Present1 performs the synchronization to the output that contains the largest sub-rectangle of the target window’s client area.

An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.

A pointer to a DXGI_PRESENT_PARAMETERS structure that describes updated rectangles and scroll information of the frame to present.

Читайте также:

      

  • Можно ли спасти сэма в the last of us
  •   

  • Можно ли объединить аккаунты в world of warships
  •   

  • Крикс кто такой
  •   

  • Что значит soma
  •   

  • Серебряный меч скайрим где найти

I am designing a game engine that makes use of the DirectX 11 API, in particular, the use of deferred contexts. The basic idea is to have each and every device state given its own deferred context, and then, after all geometry has been rendered, to display it by iterating over every deferred context and executing its command list on the immediate context. I tested this by simply drawing two triangles onto the screen using a wireframe shader and nothing else. All DirectX calls return no errors, even when viewed in a PIX debug report, but as soon as IDXGISwapChain::Present(0,0) is called, the entire screen goes black and then returns. An error box then pops up in the lower right corner of the screen stating that the display driver «has stopped responding and successfuly recovered». Reviewing the PIX log, I found a single line stating «D3D11: Removing Device» between the pre and post blocks of the call in the PIX log. The return value shown in the post block is DXGI_ERROR_DEVICE_REMOVED. I’m not quite sure what to make of this. The PIX log is as follows:

Frame 000001 ........PRE: CreateDXGIFactory1(IID_IDXGIFactory1, 0x012E1E2C)
Frame 000001 ............PRE: AddObject(DXGI Factory, 0x0040FF98, 0x0065B810)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Factory, 0x0040FF98, 0x0065B810)
Frame 000001 ........POST: <S_OK> CreateDXGIFactory1(IID_IDXGIFactory1, 0x012E1E2C)
Frame 000001 ........PRE: D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 32, NULL, 0, 7, 0x0019F444, 0x012E1E5C, 0x012E1E54, 0x012E1E58, 0x012E1E60)
Frame 000001 ............PRE: AddObject(D3D11 Device, 0x03666B38, 0x009E9940)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Device, 0x03666B38, 0x009E9940)
Frame 000001 ............PRE: AddObject(DXGI Factory, 0x03666B98, 0x0065BAB0)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Factory, 0x03666B98, 0x0065BAB0)
Frame 000001 ............PRE: AddObject(DXGI Adapter, 0x03666BE8, 0x0065C940)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Adapter, 0x03666BE8, 0x0065C940)
Frame 000001 ............PRE: AddObject(DXGI Device, 0x03666C40, 0x009E9718)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Device, 0x03666C40, 0x009E9718)
Frame 000001 ............PRE: AddObject(DXGI Swap Chain, 0x03666CA0, 0x009EF940)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Swap Chain, 0x03666CA0, 0x009EF940)
Frame 000001 ............PRE: AddObject(DXGI Surface, 0x03666D38, 0x009EFB9C)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Surface, 0x03666D38, 0x009EFB9C)
Frame 000001 ............PRE: AddObject(D3D11 Texture2D, 0x03666D98, 0x009EFBD4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Texture2D, 0x03666D98, 0x009EFBD4)
Frame 000001 ............PRE: AddObject(D3D11 Device Context, 0x036C1E08, 0x009F1840)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Device Context, 0x036C1E08, 0x009F1840)
Frame 000001 ........POST: <S_OK> D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 32, NULL, 0, 7, 0x0019F444, 0x012E1E5C, 0x012E1E54,   0x012E1E58, 0x012E1E60)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CheckFeatureSupport(D3D11_FEATURE_THREADING, 0x0019F2C8, 8)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CheckFeatureSupport(D3D11_FEATURE_THREADING, 0x0019F2C8, 8)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CheckFeatureSupport(D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, 0x0019F2BC, 4)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CheckFeatureSupport(D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, 0x0019F2BC, 4)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CheckFormatSupport(DXGI_FORMAT_B8G8R8A8_UNORM, 0x0019F2B0)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CheckFormatSupport(DXGI_FORMAT_B8G8R8A8_UNORM, 0x0019F2B0)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::GetCreationFlags()
Frame 000001 ........POST: <32><this=0x03666b38> ID3D11Device::GetCreationFlags()
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateDeferredContext(0, 0x0FB34BA4)
Frame 000001 ............PRE: AddObject(D3D11 Device Context, 0x036C9C58, 0x009F7C38)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Device Context, 0x036C9C58, 0x009F7C38)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateDeferredContext(0, 0x0FB34BA4)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateRasterizerState(0x0019F3F8, 0x0FB34BA0)
Frame 000001 ............PRE: AddObject(D3D11 Rasterizer State, 0x03666E38, 0x009F0A98)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Rasterizer State, 0x03666E38, 0x009F0A98)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateRasterizerState(0x0019F3F8, 0x0FB34BA0)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateInputLayout(0x0FB50158, 2, 0x009F0368, 568, 0x0FB35B3C)
Frame 000001 ............PRE: AddObject(D3D11 Input Layout, 0x03666EB0, 0x009F0B18)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Input Layout, 0x03666EB0, 0x009F0B18)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateInputLayout(0x0FB50158, 2, 0x009F0368, 568, 0x0FB35B3C)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateSamplerState(0x0019F418, 0x0019F46C)
Frame 000001 ............PRE: AddObject(D3D11 Sampler State, 0x03666F10, 0x009EF8D8)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Sampler State, 0x03666F10, 0x009EF8D8)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateSamplerState(0x0019F418, 0x0019F46C)
Frame 000001 ........PRE: <this=0x03666f10>ID3D11SamplerState::AddRef()
Frame 000001 ........POST: <2><this=0x03666f10> ID3D11SamplerState::AddRef()
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::AddRef()
Frame 000001 ........POST: <8><this=0x03666b38> ID3D11Device::AddRef()
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateVertexShader(0x009F0368, 568, NULL, 0x0FB3046C)
Frame 000001 ............PRE: AddObject(D3D11 Vertex Shader, 0x03666F60, 0x009EFCB4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Vertex Shader, 0x03666F60, 0x009EFCB4)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateVertexShader(0x009F0368, 568, NULL, 0x0FB3046C)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreatePixelShader(0x009F0958, 244, NULL, 0x0FB30470)
Frame 000001 ............PRE: AddObject(D3D11 Pixel Shader, 0x03666FB8, 0x009E2CF4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Pixel Shader, 0x03666FB8, 0x009E2CF4)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreatePixelShader(0x009F0958, 244, NULL, 0x0FB30470)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::Release()
Frame 000001 ........POST: <9><this=0x03666b38> ID3D11Device::Release()
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB364A8)
Frame 000001 ............PRE: AddObject(D3D11 Buffer, 0x036656F0, 0x009E2E14)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Buffer, 0x036656F0, 0x009E2E14)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB364A8)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB3E1B0)
Frame 000001 ............PRE: AddObject(D3D11 Buffer, 0x03665778, 0x009F03D4)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Buffer, 0x03665778, 0x009F03D4)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB3E1B0)
Frame 000001 ........PRE: <this=0x03666b38>ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB46E58)
Frame 000001 ............PRE: AddObject(D3D11 Buffer, 0x03665800, 0x009E3994)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Buffer, 0x03665800, 0x009E3994)
Frame 000001 ........POST: <S_OK><this=0x03666b38> ID3D11Device::CreateBuffer(0x0019F914, NULL, 0x0FB46E58)
Frame 000001 ........PRE: <this=0x036c1e08>ID3D11DeviceContext::RSSetViewports(1, 0x012E1EBC)
Frame 000001 ........POST: <><this=0x036c1e08> ID3D11DeviceContext::RSSetViewports(1, 0x012E1EBC)
Frame 000001 ........PRE: <this=0x036c9c58>ID3D11DeviceContext::IASetInputLayout(0x03666EB0)
Frame 000001 ........POST: <><this=0x036c9c58> ID3D11DeviceContext::IASetInputLayout(0x03666EB0)
Frame 000001 ........PRE: <this=0x036c9c58>ID3D11DeviceContext::AddRef()
Frame 000001 ........POST: <2><this=0x036c9c58> ID3D11DeviceContext::AddRef()
Frame 000001 ........PRE: <this=0x036c9c58>ID3D11DeviceContext::DrawIndexed(6, 0, 0)
Frame 000001 ........POST: <><this=0x036c9c58> ID3D11DeviceContext::DrawIndexed(6, 0, 0)
Frame 000001 ........PRE: <this=0x036c9c58>ID3D11DeviceContext::Release()
Frame 000001 ........POST: <1><this=0x036c9c58> ID3D11DeviceContext::Release()
Frame 000001 ........PRE: <this=0x036c9c58>ID3D11DeviceContext::FinishCommandList(FALSE, 0x0019F928)
Frame 000001 ............PRE: AddObject(D3D11 Command List, 0x03665888, 0x009E3A94)
Frame 000001 ............POST: <TRUE> AddObject(D3D11 Command List, 0x03665888, 0x009E3A94)
Frame 000001 ........POST: <S_OK><this=0x036c9c58> ID3D11DeviceContext::FinishCommandList(FALSE, 0x0019F928)
Frame 000001 ........PRE: <this=0x036c1e08>ID3D11DeviceContext::ExecuteCommandList(0x03665888, FALSE)
Frame 000001 ........POST: <><this=0x036c1e08> ID3D11DeviceContext::ExecuteCommandList(0x03665888, FALSE)
Frame 000001 ........PRE: <this=0x03666ca0>IDXGISwapChain::Present(0, 1)
Frame 000001 ........POST: <S_OK><this=0x03666ca0> IDXGISwapChain::Present(0, 1)
Frame 000001 ........PRE: <this=0x03666ca0>IDXGISwapChain::Present(0, 0)
D3D11: Removing Device.
Frame 000001 ........POST: <DXGI_ERROR_DEVICE_REMOVED><this=0x03666ca0> IDXGISwapChain::Present(0, 0)
Frame 000001 ....POST: <> Frame(1)

If anything else is required, let me know. I haven’t posted code mainly because it extends over almost 20 separate classes, but I can post buffer contents, HLSL, and explanations behind the logic.

UPDATE:

I have somewhat solved the problem above, part of the reason was most likely due to not having set any shaders, no index buffers, no vertex buffers, and no constant buffers. The original problem is still not solved, but a new thought came to me while working on this. I never called ID3D11DeviceContext::Begin(0). However, upon obtaining the device context from the device state class and calling Begin on that context, I end up with an access violation and the pointer to the ID3D11DeviceContext object being set to zero. This only happens on a call to Begin, and removing the call causes the behavior to stop. Looking through the example code in the DirectX SDK, I can’t find an explicit call to begin at any time. Is this call necessary? This might seem a little off topic, but if the command list is mangled because of it, this might be the reason Present is removing the device.

relevant code:

if(FAILED(devstate->BeginDraw(inlayout,&dc)))
{
    return ACERROR_ALREADYDRAWING; //error handling block.
}
//dc->Begin(0); //access violation: error accessing location 0x00000024
for(UINT i=Shader_Vertex;i<Shader_Count;i++)
{
    //set all relevant shaders to the device.
    (dc->*(vtbls[i].ShaderSet))(shaders[i],0,0);
}

Содержание

  • Исправляем ошибку
  • Добавление раздела реестра
  • Удалим существующий драйвер видекарты.
  • Установим… Старый драйвер.
  • Отключение Nvidia ShadowPlay
  • ИнструкцияInstructions
  • Обновление драйвера видеокарты
  • Исправление ошибки DXGI_ERROR_DEVICE_REMOVED

Если ошибка «dxgi_error_device_removed» появляется только при запуске конкретной игры, тогда, возможно, ее системные требования для вас. В остальных случаях нужно более точно установить проблему.

Начнем с обновления DirectX

Без DirectX можно не рассчитывать на загрузку игры. Попробуйте удалить обновления и переустановить. DirectX всегда прилагается к играм, вот оттуда его и можно взять. Для скачивания последней версии перейдите на тематическую страницу на официальном сайте Microsoft: www.microsoft.com/ru-ru/Download/confirmation.aspx%3Fid%3D35

Загрузите DirectX на официальном сайте Microsoft

Проверяем другие драйвера

Именно с выходом Crysis 3 ошибка с кодом 0x887a0006 получила наибольшее распространение. Системные требования для своего времени не маленькие, что и приводило к проблемам в ОС.

  • Для скидывания настроек в игре к минимальным показателям воспользуйтесь утилитой Crysis 3 Config.
  • Обновите все драйвера на компьютере. Для этого можете скачать все последние версии с официального сайта Microsoft. В качестве запасного варианта перейдите по пути: «Панель управления» – «Центр обновления Windows». Также можно использовать

Возвращаем видеокарту к прежним настройкам

Иногда игроки пытаются самостоятельно увеличить производительность компьютера, через разгон видеокарты. Но без должного опыта пользователь только ухудшает ситуацию.

Если после таких экспериментов у вас появляется черный экран – верните настройки видеокарты на прежние показатели.

Примечание. Если для ускорения ПК вы используете сторонний софт, то его следует отключить. Для большей надежности удалите софт.

Питание

Иногда в компьютере могут возникать сбои с потреблением достаточного количества питания. Видеокарта не получает своего минимального заряда, а поэтому отказывается работать со сложными приложениями. В таких ситуациях необходимо изменить настройки потребления питания, выставив Максимальную производительность.

https://youtube.com/watch?v=rWjTWbGw-yg

TDR периодически проверяет, отвечает ли графическое оборудование должным образом. Если оно не реагирует на TDR в течение двух секунд, Windows автоматически предполагает, что оборудование зависло и заставляет его повторно инициализироваться. Это делается для того, чтобы предотвратить зависание всего компьютера. Попробуйте добавить новое значение в реестр, связанное с TDR. Если не сработает, можно вернуть все обратно.

Откройте Редактор реестра командой regedit из окна Win + R.

Перейдите в следующую локацию на левой панели навигации:

HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control – GraphicsDrivers

Щелкните правой кнопкой мыши на раздел GraphicsDrivers и выберите Создать – Параметр DWORD (32 бита).

Присвойте имя новому параметру «TdrLevel», дважды щелкните по нему и установите значение «0». Примените изменения, и перезагрузите компьютер.

Я рекомендую использовать для этого утилиту Display Driver Uninstaller больше известную под именем DDU. Крайню версию утилиты можно получить тут. При удалении драйвера РЕКОМЕНДУЕТСЯ делать это в “Безопасном режиме” операционной системы. Как зайти в этот режим рассказывать не надо? Запускаем утилиту, выбираем пункт “Clean and restart”. Этот пункт полностью удаляет драйвера видеоадаптера, а также утилиту GeForce Experience с вашего ПК. После перезагрузки ваша система предстанет перед вами в минимальном разрешении. Кстати, рекомендую до удаления драйвера отключить компьютеру доступ в Сеть.

Да, вы не ослышались, мы будем устанавливать один из старых выпусков драйверов nVidia. Судя по отзывам пользователей наиболее стабильным является версия 384.76. Для загрузки архивного драйвера идем сюда и скачиваем нужный нам. Еще разок, сделайте это до удаления прошлой версии, ведь у нас же сейчас доступ к интернет отключен.

Запускаем установку. Если установщик вам предложит вариант установки “Только драйвер” и “Драйвер и GeForce Experience”, то лучше выбрать вариант установки только драйвера. Если нет, то используйте кастомную установку в которой отключите установку утилиты GeForce Experience. После установки идем на перезагрузку.

Отключение Nvidia ShadowPlay

Технология Nvidia ShadowPlay предназначена для записи экрана с аппаратным ускорением, которая входит в состав приложения GeForce Experience. Несмотря на свои преимущества утилита создает дополнительную нагрузку на графический процессор, так как он должен постоянно записывать экран, а также предоставлять ресурсы для бесперебойной работы игры. Отключение этой технологии позволяет избавиться от сообщения об ошибке DXGI_ERROR_DEVICE_REMOVED.

Откройте Nvidia GeForce Experience от имени администратора. Перейдите на вкладку «Общие» с помощью панели навигации, расположенной в левой части экрана. В разделе «Внутриигровое наложение» переместите переключатель в положение «Выключено».

Нажмите на кнопку «Применить», чтобы сохранить изменения. Перезапустите систему и посмотрите, решена ли проблема.

ИнструкцияInstructions

Шаг 1.Step 1:

Включите проверку ошибки удаленного устройства в цикле отрисовки.Include a check for the device removed error in the rendering loop. Представьте кадр, вызвав метод IDXGISwapChain::Present (или метод Present1 и т. д.).Present the frame by calling IDXGISwapChain::Present (or Present1, and so on). Затем проверьте, возвращаются ли DXGI_ошибка_устройства_удалено или DXGI_ошибка_устройства _Сбросить.Then, check whether it returned DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET.

Прежде всего шаблон сохраняет HRESULT, возвращенный цепочкой буферов DXGI.First, the template stores the HRESULT returned by the DXGI swap chain:

После выполнения всех необходимых действий для представления кадра шаблон проверяет наличие ошибки удаленного устройства.After taking care of all other work for presenting the frame, the template checks for the device removed error. При необходимости он вызывает метод обработки условия удаленного устройства.If necessary, it calls a method to handle the device removed condition:

Шаг 2.Step 2:

Также включите проверку на наличие ошибки удаленного устройства в ответ на изменения размера окна.Also, include a check for the device removed error when responding to window size changes. Это хорошо подходит для проверки DXGI_ошибка_устройства_удалено или DXGI_ошибка_устройства_ Сброс по следующим причинам:This is a good place to check for DXGI_ERROR_DEVICE_REMOVED or DXGI_ERROR_DEVICE_RESET for several reasons:

  • Для изменения размера цепочки буферов требуется вызвать базовый адаптер DXGI, который может возвратить ошибку удаленного устройства.Resizing the swap chain requires a call to the underlying DXGI adapter, which can return the device removed error.
  • Приложение может теперь отображаться на мониторе, подключенном к другому графическому устройству.The app might have moved to a monitor that’s attached to a different graphics device.
  • При удалении или сбросе графического устройства разрешение рабочего стола часто меняется, в результате чего меняется размер окна.When a graphics device is removed or reset, the desktop resolution often changes, resulting in a window size change.

Шаблон проверяет HRESULT, возвращенный методом ResizeBuffers:The template checks the HRESULT returned by ResizeBuffers:

Шаг 3.Step 3:

Любое время, приложение получает DXGI_ошибка_устройства_удалено ошибки, оно должно повторно инициализировать устройство Direct3D и повторно создайте все зависящие от устройства ресурсы.Any time your app receives the DXGI_ERROR_DEVICE_REMOVED error, it must reinitialize the Direct3D device and recreate any device-dependent resources. Освободите все ссылки на ресурсы графического устройства, созданные при использовании предыдущего устройства Direct3D. Эти ресурсы теперь недействительны, и все ссылки на данную цепочку буферов следует освободить до создания новой цепочки.Release any references to graphics device resources created with the previous Direct3D device; those resources are now invalid, and all references to the swap chain must be released before a new one can be created.

Метод HandleDeviceLost освобождает цепочку буферов и сообщает компонентам приложения о необходимости освободить ресурсы устройства.The HandleDeviceLost method releases the swap chain and notifies app components to release device resources:

Затем он создает новую цепочку буферов и выполняет повторную инициализацию зависимых от устройства ресурсов, контролируемых классом управления устройством.Then, it creates a new swap chain and reinitializes the device-dependent resources controlled by the device management class:

После повторной установки устройства и цепочки буферов этот метод сообщает компонентам приложения о необходимости повторной инициализации зависимых от устройства ресурсов.After the device and swap chain have been re-established, it notifies app components to reinitialize device-dependent resources:

Когда метод HandleDeviceLost завершает работу, элемент управления возвращается в цикл отрисовки, и продолжается отрисовка нового кадра.When the HandleDeviceLost method exits, control returns to the rendering loop, which continues on to draw the next frame.

Иногда ошибку DXGI_ERROR_DEVICE_REMOVED удается решить путем обновления драйвера видеокарты. Возможно, он неисправен или устарел. Нужно полностью удалить драйвер перед установкой нового, для этого воспользуйтесь утилитой Display Driver Uninstaller (DDU).

После установки DDU загрузите компьютер в безопасном режиме. Запустите приложение, укажите графический процессор и нажмите на кнопку «Удалить и перезапустить». Приложения автоматически удалит установленные драйверы, затем перезапустит ПК.

После загрузки ПК в обычном режиме перейдите на сайт поставщика видеокарты, загрузите и установите последнюю версию драйвера. Либо это можно сделать в разделе «Драйверы» приложения GeForce Experience.

Перезагрузите систему. Проверьте, прерывается ли игра ошибкой DXGI_ERROR_DEVICE_REMOVED.

Для того, чтобы исправить ошибку для начала рекомендую по порядку выполнить следующие действия:

  1. Если вы недавно вынимали (или устанавливали) видеокарту, проверить, что она плотно подключена, контакты на ней не окислены, дополнительное питание подключено.
  2. Если есть возможность, проверить эту же видеокарту на другом компьютере с той же игрой с теми же параметрами графики, чтобы исключить неисправность самой видеокарты.
  3. Попробовать установить другую версию драйверов (в том числе более старую, если недавно произошло обновление до последней версии драйверов), предварительно полностью удалив имеющиеся драйверы: Как удалить драйверы видеокарты NVIDIA или AMD.
  4. Для того, чтобы исключить влияние недавно установленных сторонних программ (иногда они также могут вызывать ошибку), выполните чистую загрузку Windows, а затем проверьте, будет ли проявлять себя ошибка в вашей игре.
  5. Попробуйте выполнить действия, описанные в отдельной инструкции Видеодрайвер перестал отвечать и был остановлен — они могут сработать.
  6. Попробуйте в схеме электропитания (Панель управления — Электропитание) выбрать «Высокая производительность», а затем в «Изменить дополнительные параметры электропитания» в разделе «PCI Express» — «Управление питанием состояния связи» установите «Откл.» 
  7. Попробуйте снизить настройки качества графики в игре.
  8. Скачайте и запустите веб-установщик DirectX, если он найден поврежденные библиотеки, они будут автоматически заменены, см. Как скачать DirectX.

Обычно, что-то из перечисленного помогает решить проблему за исключением случая, когда причиной является недостаток питания со стороны блока питания во время пиковых нагрузок на видеокарту (хотя и в этом случае может сработать снижением параметров графики).

Go Back   UnKnoWnCheaTs — Multiplayer Game Hacking and Cheats

  • Anti-Cheat Software & Programming


  • Direct3D


  • D3D Tutorials and Source

  • Reload this Page

    [Help] D3D11 How do I find IDXGISwapChain::Present()

    D3D11 How do I find IDXGISwapChain::Present()
    D3D11 How do I find IDXGISwapChain::Present()

    Save

    Authenticator Code

    Reply

    Thread Tools

    D3D11 How do I find IDXGISwapChain::Present()

    Old
    14th August 2020, 11:14 PM

     
    #1

    pj4s

    n00bie

    pj4s's Avatar

    Join Date: Aug 2019


    Posts: 24

    Reputation: 384

    Rep Power: 86

    pj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world country

    Recognitions
    Members who have contributed financial support towards UnKnoWnCheaTs.
    Donator

    (2)

    Points: 1,053, Level: 2

    Points: 1,053, Level: 2 Points: 1,053, Level: 2 Points: 1,053, Level: 2

    Level up: 31%, 347 Points needed

    Level up: 31% Level up: 31% Level up: 31%

    Activity: 5.6%

    Activity: 5.6% Activity: 5.6% Activity: 5.6%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    D3D11 How do I find IDXGISwapChain::Present()


    Title says it all, I’m starting to get into D3D and I was wondering if there were any ways I could find the Present offset. I already tried this https://www.unknowncheats.me/wiki/ID…_using_IDA_Pro tutorial however IDA was not able to load the pdb. If anybody has a download link to all the direct3d pdbs or knows of any string references I can use to find the function that would help. Thanks


    pj4s is offline

    Reply With Quote

    Old
    14th August 2020, 11:50 PM

     
    #2

    Atem2069

    Junior Member

    Atem2069's Avatar

    Join Date: May 2020


    Posts: 38

    Reputation: 514

    Rep Power: 68

    Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!

    Points: 1,198, Level: 2

    Points: 1,198, Level: 2 Points: 1,198, Level: 2 Points: 1,198, Level: 2

    Level up: 60%, 202 Points needed

    Level up: 60% Level up: 60% Level up: 60%

    Activity: 1.7%

    Activity: 1.7% Activity: 1.7% Activity: 1.7%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    It might not be a ton of help, but if you have a pointer to the IDXGISwapChain interface already, the VMT index for present — at least for the base version of the interface, should be 8.


    Atem2069 is offline

    Reply With Quote

    Old
    15th August 2020, 12:46 AM

     
    #3

    pj4s

    n00bie

    pj4s's Avatar


    Threadstarter

    Join Date: Aug 2019


    Posts: 24

    Reputation: 384

    Rep Power: 86

    pj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world country

    Recognitions
    Members who have contributed financial support towards UnKnoWnCheaTs.
    Donator

    (2)

    Points: 1,053, Level: 2

    Points: 1,053, Level: 2 Points: 1,053, Level: 2 Points: 1,053, Level: 2

    Level up: 31%, 347 Points needed

    Level up: 31% Level up: 31% Level up: 31%

    Activity: 5.6%

    Activity: 5.6% Activity: 5.6% Activity: 5.6%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by Atem2069
    View Post

    It might not be a ton of help, but if you have a pointer to the IDXGISwapChain interface already, the VMT index for present — at least for the base version of the interface, should be 8.

    Interesting, you know how I could find this pointer to IDXGISwapChain either statically or dynamically?


    pj4s is offline

    Reply With Quote

    Old
    15th August 2020, 01:50 AM

     
    #4

    Atem2069

    Junior Member

    Atem2069's Avatar

    Join Date: May 2020


    Posts: 38

    Reputation: 514

    Rep Power: 68

    Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!

    Points: 1,198, Level: 2

    Points: 1,198, Level: 2 Points: 1,198, Level: 2 Points: 1,198, Level: 2

    Level up: 60%, 202 Points needed

    Level up: 60% Level up: 60% Level up: 60%

    Activity: 1.7%

    Activity: 1.7% Activity: 1.7% Activity: 1.7%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by pj4s
    View Post

    Interesting, you know how I could find this pointer to IDXGISwapChain either statically or dynamically?

    You can probably do the dummy device method similar to what you do with D3D9 I guess. Get your game window’s HWND and pass that into a DXGI_SWAP_CHAIN_DESC struct along with the correct dimensions, fullscreen, present mode etc. and then call D3D11CreateDeviceAndSwapChain. Only thing with this method is that you’d be using detours or trampoline hooks with this method, as it of course won’t give you the exact swapchain interface the game uses — just the correct addresses of the vfuncs the current process uses



    Last edited by Atem2069; 15th August 2020 at 02:05 AM.


    Atem2069 is offline

    Reply With Quote

    Old
    15th August 2020, 05:27 PM

     
    #5

    pj4s

    n00bie

    pj4s's Avatar


    Threadstarter

    Join Date: Aug 2019


    Posts: 24

    Reputation: 384

    Rep Power: 86

    pj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world countrypj4s has learned Kazaa is not a third world country

    Recognitions
    Members who have contributed financial support towards UnKnoWnCheaTs.
    Donator

    (2)

    Points: 1,053, Level: 2

    Points: 1,053, Level: 2 Points: 1,053, Level: 2 Points: 1,053, Level: 2

    Level up: 31%, 347 Points needed

    Level up: 31% Level up: 31% Level up: 31%

    Activity: 5.6%

    Activity: 5.6% Activity: 5.6% Activity: 5.6%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by Atem2069
    View Post

    You can probably do the dummy device method similar to what you do with D3D9 I guess. Get your game window’s HWND and pass that into a DXGI_SWAP_CHAIN_DESC struct along with the correct dimensions, fullscreen, present mode etc. and then call D3D11CreateDeviceAndSwapChain. Only thing with this method is that you’d be using detours or trampoline hooks with this method, as it of course won’t give you the exact swapchain interface the game uses — just the correct addresses of the vfuncs the current process uses

    1. I’ll definitely look into that. I’m assuming I could use cheat engine, relaunch the game a couple of times and do some pointer scans to get an offset to the function.

    2. Do you have the dxgi or d3d11 .pdb file? I’m almost positive I would be able to find this function in IDA with a pdb for reference.

    EDIT x64dbg was just able to load all the directX pdbs, I think I got this from here, Thanks



    Last edited by pj4s; 15th August 2020 at 05:55 PM.
    Reason: Found PDBs


    pj4s is offline

    Reply With Quote

    Old
    15th August 2020, 08:28 PM

     
    #6

    Atem2069

    Junior Member

    Atem2069's Avatar

    Join Date: May 2020


    Posts: 38

    Reputation: 514

    Rep Power: 68

    Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!Atem2069 Just broke the rep barrier: 2nd Level User!!!

    Points: 1,198, Level: 2

    Points: 1,198, Level: 2 Points: 1,198, Level: 2 Points: 1,198, Level: 2

    Level up: 60%, 202 Points needed

    Level up: 60% Level up: 60% Level up: 60%

    Activity: 1.7%

    Activity: 1.7% Activity: 1.7% Activity: 1.7%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by pj4s
    View Post

    1. I’ll definitely look into that. I’m assuming I could use cheat engine, relaunch the game a couple of times and do some pointer scans to get an offset to the function.

    2. Do you have the dxgi or d3d11 .pdb file? I’m almost positive I would be able to find this function in IDA with a pdb for reference.

    EDIT x64dbg was just able to load all the directX pdbs, I think I got this from here, Thanks

    For D3D11CreateDeviceAndSwapchain you can pretty much just include the d3d11 header and call it directly — just make sure you’re passing a valid hwnd into your swapchain desc and so on. The idea of the method is that you just grab the vtable and release the swapchain once you’ve got your detours setup, because it will give you the proper vfunc addresses that the game uses too.


    Atem2069 is offline

    Reply With Quote

    Old
    19th October 2020, 05:04 AM

     
    #7

    dr0wn3d

    Super l337

    dr0wn3d's Avatar

    Join Date: Sep 2020


    Posts: 209

    Reputation: 5544

    Rep Power: 66

    dr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATSdr0wn3d DEFINES UNKNOWNCHEATS

    Points: 9,931, Level: 12

    Points: 9,931, Level: 12 Points: 9,931, Level: 12 Points: 9,931, Level: 12

    Level up: 11%, 1,069 Points needed

    Level up: 11% Level up: 11% Level up: 11%

    Activity: 8.8%

    Activity: 8.8% Activity: 8.8% Activity: 8.8%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()

    I was able to get the address of SwapChain::Present in dx11 by attaching x64dbg to the process, going to the symbols tab, searching for dxgi.dll and then right clicking and choosing «Download symbols for this module». Then all you have to do is go to the tab on the right which shows the symbols and press ctrl + f to search for Present.


    dr0wn3d is online now

    Reply With Quote

    Old
    5th December 2020, 03:19 PM

     
    #8

    ș�ŋ1Ќ�

    ș�ŋ1Ќ�'s Avatar

    Join Date: Sep 2009

    Location: Spain


    Posts: 72

    Reputation: 877

    Rep Power: 326

    ș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Manș�ŋ1Ќ� Microsoft is Endangered By This Man

    Points: 10,271, Level: 12

    Points: 10,271, Level: 12 Points: 10,271, Level: 12 Points: 10,271, Level: 12

    Level up: 40%, 729 Points needed

    Level up: 40% Level up: 40% Level up: 40%

    Activity: 2.2%

    Activity: 2.2% Activity: 2.2% Activity: 2.2%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by pj4s
    View Post

    Interesting, you know how I could find this pointer to IDXGISwapChain either statically or dynamically?

    Remember to use the search button.

    Hook DirectX 11 Dynamically

    __________________


    ș�ŋ1Ќ� is offline

    Reply With Quote

    Old
    5th December 2020, 03:20 PM

     
    #9

    Swiftik

    A Forum Hero

    Swiftik's Avatar

    Join Date: Oct 2015


    Posts: 1,666

    Reputation: 50033

    Rep Power: 246

    Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!Swiftik has a huge epeen!

    Recognitions
    Members who have contributed financial support towards UnKnoWnCheaTs.
    Donator

    (3)

    Points: 62,089, Level: 36

    Points: 62,089, Level: 36 Points: 62,089, Level: 36 Points: 62,089, Level: 36

    Level up: 92%, 311 Points needed

    Level up: 92% Level up: 92% Level up: 92%

    Activity: 7.5%

    Activity: 7.5% Activity: 7.5% Activity: 7.5%

    Last Achievements
    D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()D3D11 How do I find IDXGISwapChain::Present()

    Quote:

    Originally Posted by ș�ŋ1Ќ�
    View Post

    Remember to use the search button.

    Hook DirectX 11 Dynamically

    remember to look at the post dates


    Swiftik is online now

    Reply With Quote

    Reply


    Similar Threads
    Thread Thread Starter Forum Replies Last Post
    [Help] IDXGISwapChain::ResizeBuffers method ImCytox Direct3D 11 5th November 2018 06:56 PM
    [Help] IDXGISwapChain::Present Hook Crashes! niger9999 Overwatch 0 24th April 2018 05:18 PM
    IDXGISwapChain::Present — hook crashes after once its called Kernel911 Direct3D 0 12th May 2012 03:31 PM
    [Help] IDXGISwapChain::Present in D3D10 & D3D11 ChaosLeader Direct3D 1 22nd October 2011 02:07 PM
    d3d11 hook (SwapChain::Present) mumble overlay ond9 Direct3D 4 31st May 2011 09:06 PM

    Tags

    pdb, load, link, [help], direct3d, pdbs, string, references, function, ida

    «
    Previous Thread
    |
    Next Thread
    »

    Forum Jump

    All times are GMT. The time now is 07:59 PM.

    Contact Us —
    Toggle Dark Theme

    Terms of Use Information Privacy Policy Information
    Copyright ©2000-2023, Unknowncheats� UKCS #312436

    D3D11 How do I find IDXGISwapChain::Present() D3D11 How do I find IDXGISwapChain::Present()

    no new posts

    Понравилась статья? Поделить с друзьями:
  • Idt fail 0 s error 39
  • Ids error no wizard pages wine
  • Ids error install running logitech что делать
  • Ids error code none
  • Idrac login failed with an access denied error