Проблема с CreateDevice
Изучаю DirectX9 , один из примеров странно работает.
Использую directX sdk june 2010 .
На одном из ПК после запуска возникает ошибка:
https://s.mail.ru/3Eux/5B5sDx1cP
Почему-то в pDirect3DDevice нулевой указатель и девайс не создается: «pDirect3DDevice was nullptr.».
Единственное что нашел — включить debug в DirectX, но его включить невозможно, причину найти не смог: https://s.mail.ru/4FaL/JkNGwguwp .
Подскажите, пожалуйста, в чем возникает проблема и как её исправить.
Код:
#include
#include
#include
#include
#pragma comment (lib, «d3d9.lib»)
#pragma comment( lib, «d3dx9.lib» )
#pragma comment(lib, «Winmm.lib»)
LPDIRECT3DVERTEXBUFFER9 pBufferVershin = NULL;
LPDIRECT3DINDEXBUFFER9 pBufferIndex = NULL;
LPDIRECT3D9 pDirect3D = NULL;
LPDIRECT3DDEVICE9 pDirect3DDevice = NULL;
struct CUSTOMVERTEX
<
float X, Y, Z;
DWORD color;
static const DWORD CustomVertex = D3DFVF_XYZ | D3DFVF_DIFFUSE;
>;
HRESULT IntialDirect3D(HWND hWnd)
<
if (NULL == (pDirect3D = Direct3DCreate9(D3D_SDK_VERSION)));
return E_FAIL;
D3DDISPLAYMODE Display;
if (FAILED(pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &Display)))
return E_FAIL;
D3DPRESENT_PARAMETERS Direct3DParametr;
ZeroMemory(&Direct3DParametr, sizeof(Direct3DParametr));
Direct3DParametr.Windowed = true;
Direct3DParametr.SwapEffect = D3DSWAPEFFECT_DISCARD;
Direct3DParametr.hDeviceWindow = hWnd;
Direct3DParametr.BackBufferFormat = Display.Format;
if (FAILED(pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &Direct3DParametr, &pDirect3DDevice)))
return E_FAIL;
pDirect3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
//pDirect3DDevice->SetRenderState(D3DRS_LIGHTING, FALSE); Ниже есть комент в ф-ии InitialObject
pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &Direct3DParametr, &pDirect3DDevice);
return S_OK;
>
HRESULT InitialObject()
<
/*D3DXMATRIX projection;
D3DXMatrixPerspectiveFovLH(&projection, D3DXToRadian(60), 1, 1, 1000);//
pDirect3DDevice->SetTransform(D3DTS_PROJECTION, &projection);
const unsigned short Index[] =
<
0,1,2, 2,3,0,
4,5,6, 6,7,4,
8,9,10, 10,11,8,
12,13,14, 14,15,12,
16,17,18, 18,19,16,
20,21,22, 22,23,20,
>;
if (FAILED(pDirect3DDevice->CreateVertexBuffer(36*sizeof(Vershin), NULL, CUSTOMVERTEX::CustomVertex, D3DPOOL_DEFAULT, &pBufferVershin, NULL)))
return E_FAIL;
VOID* pBV;
if (FAILED(pBufferVershin->Lock(NULL, NULL, (void**)&pBV, NULL)))
return E_FAIL;
memcpy(pBV, Vershin, sizeof(Vershin));
pBufferVershin->Unlock();
pDirect3DDevice->CreateIndexBuffer(36 * sizeof(Index), NULL, D3DFMT_INDEX16, D3DPOOL_DEFAULT, &pBufferIndex, NULL);
VOID* pBI;
pBufferIndex->Lock(NULL, sizeof(Index), (void**)&pBI, NULL);
memcpy(pBI, Index, sizeof(Index));
pBufferIndex->Unlock();
return S_OK;
>
VOID Matrix()
<
D3DXMATRIX MatrixWorld; //мировая
D3DXMATRIX MatrixViev; //вида
D3DXMATRIX MatrixProjection; //проекции
//MatrixWorld
UINT Time = timeGetTime() % 5000;
FLOAT Angle = Time * (2.0f*D3DX_PI) / 5000.0f;
D3DXMatrixRotationX(&MatrixWorld, Angle); //Вращение
pDirect3DDevice->SetTransform(D3DTS_WORLD, &MatrixWorld);
//MatrixViev
D3DXMatrixLookAtLH(&MatrixViev, &D3DXVECTOR3(0.0f, 0.0f, -8.0f), &D3DXVECTOR3(0.0f, 0.0f, 0.0f), &D3DXVECTOR3(0.0f, 1.0f, -8.0f));
pDirect3DDevice->SetTransform(D3DTS_VIEW, &MatrixViev);
// MatrixProjection
D3DXMatrixPerspectiveFovLH(&MatrixProjection, D3DX_PI / 4, 1.0f, 1.0f, 100.0f);
pDirect3DDevice->SetTransform(D3DTS_PROJECTION, &MatrixProjection);
>
VOID RenderingDirect3D()
<
/*static int r = 0;
r++;
if (r > 255)
r = 0;*/
pDirect3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), NULL, NULL);
pDirect3DDevice->BeginScene();
// здесь происходит прорисовка сцены
Matrix();
pDirect3DDevice->SetIndices(pBufferIndex);
pDirect3DDevice->SetFVF(CUSTOMVERTEX::CustomVertex);
pDirect3DDevice->SetStreamSource(NULL, pBufferVershin, NULL, sizeof(CUSTOMVERTEX));
pDirect3DDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 36, 0, 12);
//
pDirect3DDevice -> EndScene();
pDirect3DDevice -> Present(NULL, NULL, NULL, NULL);
>
VOID DeleteDirect3D()
<
if (pDirect3DDevice != NULL)
pDirect3DDevice->Release();
if (pDirect3D != NULL)
pDirect3D->Release();
if (pBufferVershin != NULL)
pBufferVershin->Release();
>
LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
<
switch (uMsg)
<
case WM_PAINT:
RenderingDirect3D();
ValidateRect(hWnd, NULL);
return(0);
case WM_CLOSE:
PostQuitMessage(0);
break;
case WM_DESTROY:
DeleteDirect3D();
PostQuitMessage(0);
return (0);
>
return DefWindowProc(hWnd, uMsg, wParam, lParam);
>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int nCmdShow)
<
WNDCLASSEX wc; // WNDCLASSEX — структура
ZeroMemory(&wc, sizeof(wc)); // чтобы не заполнять все параметры , заполняется все нулями. ZeroMemory — функция
HWND hWnd;
MSG uMsg;
wc.cbSize = sizeof(WNDCLASSEX); // cbSize — размер структуры
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_PEN);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wc.hInstance = hInstance;
wc.lpfnWndProc = WndProc;
wc.lpszClassName = L»MainWindow»;
wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
RegisterClassEx(&wc);
hWnd = CreateWindow(wc.lpszClassName, L»Create window», WS_OVERLAPPEDWINDOW, 100, 100, 720, 480, NULL, NULL, hInstance, NULL);
ShowWindow(hWnd, SW_SHOWDEFAULT);
IntialDirect3D(hWnd);
UpdateWindow(hWnd);
В функции HRESULT IntialDirect3D(HWND hWnd) поставил проверку и действительно она возвращает E_FAIL .
Источник
Различные ошибки DirectX
Ошибка DirectX – далеко не редкое явление. Эти библиотеки весьма чувствительны к драйверам, настройкам операционной системы и прочим штукам. Поэтому сбои случаются довольно часто. И нужно знать все о том, как им противостоять. Рассмотрим самые популярные ситуации.
Устранение неполадок
В данном материале мы рассмотрим те сбои ДиректХ, которые встречаются чаще всего в повседневной жизни. Естественно, мы расскажем и о том, как их исправить. Но в тексте будет много сложного. Так что внимательно читайте инструкции.
DirectX function device CreateTexture2D
Если появляется ошибка «DirectX function device CreateTexture2D», то, вероятнее всего, виноваты драйвера видеокарты. Бывает так, что в старых драйверах не хватает куска кода, который требуется для нормальной работы видеокарты с той или иной версией библиотеки. Это случается из-за недосмотра разработчиков. Однако в новых версиях ПО ошибка может быть устранена.
Для обновления драйвера вовсе не обязательно посещать официальный сайт разработчика, скачивать нужную версию драйвера и устанавливать ее вручную. Гораздо проще и безопаснее использовать для обновления инструменты Windows.
Сейчас мы рассмотрим вариант обновления с помощью «Диспетчера устройств» Windows:
- Щелкаем по кнопке «Пуск» правой кнопкой мыши и дожидаемся появления контекстного меню.
- В меню ищем «Диспетчер устройств» и нажимаем на этот пункт.
- Появится окно со списком установленного оборудования. Ищем «Видеоадаптеры» и щелкаем по данной записи.
- Находим имя своей видеокарты и щелкаем по нему правой кнопкой мыши.
- В контекстном меню выбираем «Обновить драйвер».
- Запустится мастер обновления. Необходимо щелкнуть по кнопке «Автоматический поиск драйверов в сети».
По завершении обновления необходимо перезагрузить компьютер. Только после рестарта система сможет инициализировать новый драйвер и начать его использовать. После рестарта можно пробовать запускать проблемную игру. Если ошибка все еще остается, то стоит попробовать еще один вариант.
Unable to create DirectX 11 device
А вот ошибка «Unable to create DirectX 11 device», наоборот, может появиться после обновления драйвера, если в его коде есть какой-то баг. Если это сбой обнаружился только после обновления, то это значит, что в новой версии ПО присутствует какой-то баг, мешающий нормальной работе графического адаптера и системных библиотек.
Откат также осуществляется при помощи встроенных инструментов операционной системы Windows. Но для его осуществления требуются немного другие шаги, чем для обновления драйвера. Впрочем, мы в любом случае предоставим подробную инструкцию, рассказывающую о данном процессе. Вот она:
- Опять переходим раздел «Видеоадаптеры» в «Диспетчере задач».
- Теперь необходимо найти имя нашей графической карты и кликнуть по ней правой кнопкой мыши.
- В появившемся меню просто выбираем «Свойства».
- Перемещаемся на вкладку «Драйвер».
- Нажимаем на кнопку «Откатить».
- Подтверждаем действие путем нажатия на кнопку «ОК».
Как водится, после работы с драйверами обязательно нужно перезагрузить компьютер. Иначе система просто не увидит другой драйвер и попытается работать со старым, что приведет к падению ОС. После рестарта можно проверять игру на наличие ошибок. Если и этот вариант не помог, то у нас в запасе есть еще несколько.
The Launcher cannot query DirectX
Весьма часто в окошке с ошибкой появляется текст The Launcher cannot query DirectX в L.A Noire. Что делать в этом случае? Вероятнее всего, на компьютере хозяйничают вирусы. Именно из-за них может получиться такой казус. И это еще не предел. Огромное количество вирусов на компьютере вполне может повесить всю ОС. Так что стоит воспользоваться каким-либо антивирусом, чтобы проверить компьютер
Еще одно решение – обновление компонента Microsoft .NET Framework до версии 4.7.1:
- Откройте эту ссылку.
- Кликните по кнопке «Скачать».
- Дождитесь завершения загрузки.
- Теперь запустите полученный файл.
- Выполните инсталляцию компонента.
DirectX function device createbuffer
Для появления ошибки «DirectX function device createbuffer» тоже имеется свое объяснение. Если на вашем компьютере находились полчища вирусов, то вполне вероятно, что они могли повредить некоторые системные файлы, ответственные за работу библиотек DirectX. Отсюда и постоянные ошибки при запуске той или иной игрушки. Также могут возникнуть конфликты в работе драйверов и компонентов библиотек.
Однако даже если файлы сильно повреждены, есть возможность вернуть все на круги своя. Для восстановления элементов даже не нужно никаких дополнительных программ. Достаточно командной строки. Бояться ее не стоит. Если все выполнять в строгом соответствии с инструкцией, то ничего страшного не случится. А вот и она:
- Открываем меню «Пуск» при помощи соответствующей кнопки в панели задач.
- Далее щелкаем по папке «Служебные».
- Находим пункт «Командная строка» и кликаем по нему правой кнопкой мыши.
- Появится меню, в котором нужно выбрать опцию «Запуск от имени администратора».
- В главном окне консоли вводим sfc /scannow и жмем на кнопку Enter.
Проверка файлов и их восстановление займет около 10-15 минут. Не забудьте, что после окончания проверки обязательно нужно будет перезагрузить компьютер. Иначе в восстановлении не будет никакого толку. После рестарта можно проверять работоспособность библиотек DirectX и любимой игрушки. Если это не помогло, то остается всего один вариант.
Не удается создать устройство DirectX
Если «Не удается создать устройство DirectX», то такое поведение может быть также связано с работой антивируса или системного брандмауэра. Эти программы любят блокировать все подряд. Даже несмотря на то, что перед ними вовсе не вредоносный объект. Вероятно, они блокируют и некоторые компоненты библиотек Директ Икс.
Самым правильным шагом будет временное отключение защиты. Достаточно это сделать для антивируса. Просто найдите его иконку в трее Windows, кликните по ней ПКМ и выберите соответствующую опцию.
DirectX encountered an unrecoverable error
При появлении ошибки с текстом «DirectX encountered an unrecoverable error» остается только одно – переустановка. Ведь, вероятнее всего, вирусы повредили какие-то файлы самих библиотек. Поэтому и появляются ошибки такого типа. И именно поэтому видеокарта не может нормально работать с DirectX. Если это действительно так, то приятного в этом мало.
Здесь поможет только полная переустановка компонента. Данная процедура очень простая в исполнении, ведь от пользователя требуется просто скачать и запустить специальную утилиту. Подробности о ней изложены в отдельной статье, с которой мы и предлагаем вам ознакомиться. Это же действие нередко спасает и при сбое DirectX error 0x887a0004.
Your graphics card does not support DirectX 11 features
Некоторые ошибки указывают на аппаратную проблему. Да, именно на ту, которая связана с железом компьютера. И здесь мы вряд ли что-нибудь сможем сделать.
Ошибка с текстом Your graphics card does not support DirectX 11 features недвусмысленно говорит о том, что у вас слишком древний графический адаптер, который не поддерживает DirectX 11. И такое действительно случается. Под раздачу даже попадают видеокарты 2011 года выпуска. И неудивительно. Ведь они поддерживают только версию 10.1.
Решение проблемы простое. Нужно пойти в магазин и купить новую видеокарту. Есть еще один вариант: отказаться от идеи запуска той игры, которая выдала такую ошибку. Все равно ничего не получится до тех пор, пока вы не обновите свое оборудование. Эту ошибку исправить невозможно другими способами.
Заключение
В рамках данного материала мы поговорили о том, что делать, если вдруг возникла неустранимая ошибка DirectX. Если именно так написано в окне с ошибкой, то это еще ничего не значит. В большинстве случаев ее можно устранить. Если, конечно, она имеет программный характер, а не связана с аппаратными частями компьютера.
Для решения программных проблем существует много способов. Все они перечислены чуть выше. Некоторые из них могут показаться вам довольно сложными. Но не стоит паниковать. Нужно выполнять все в строгом соответствии с инструкцией. Только в этом случае можно надеяться, что проблема будет решена и библиотеки заработают так, как им положено. Кстати, если вы поняли, что проблема имеет аппаратный характер, то не пытайтесь ремонтировать видеокарту сами. Вы ее только убьете.
Источник
25-09-2017, 09:46
#1
Kart Driver
Create Device Failed. Windows 7 must be a least build 7601
Hey, Every time I try to launch Project CARS 2 I get this error message:
windows 7 Ultimate 64BIT SP1
i5 3470
8gb ram
HD7870 2GB
«Create Device Failed. If you are running Windows 7 it needs to be at least build 7601. And please make sure platform update is installed.»How can I fix it?
25-09-2017, 09:51
#3
There is a platform update for SP1 which you also need.
To be safe, just do all the updates so you are current.
PC — || Corsair 600C || 1080 TI Founders Edition || AMD Ryzen 7 1800x || 16GB DDR4 4000mhz || Asus Crosshair VI Hero || EKWB 360 + 240 RAD Custom Loop (CPU / GPU) || Corsair AX1200 || Logitech G910 Orion Spectruim || Logitech G700 || Fanatec CSW v2 BMW GT & Formula Rims || Fanatec CSS SQ v1.5 || Fanatec CSP V3 Brake Performance Kit || Fanatec Handbrake || Simvibe || Logitech 5.1 Speakers || 2x Yamaha HS80 || Oculus Rift CV1 ||AOC 34″ Ultra-Wide IPS || Synology DS1817+ || Windows 10 Pro x64 ||
The following user likes this Post:Roger Prynne
If you are using Media Player Classic under Windows (Windows 10/8/7 or Windows XP) operating system, you may get the following error when you try to play a video, but the video will play normally after hitting «OK».
«CreateDevice failed,
Error code: 0x8876086A
DX9AllocatorPresenter failed
D3DERR_NOTAVAILABLE»
To solve this problem follow these steps:
Step 1. First use the DirextX Diagnostic Tool to check if DirectDraw Acceleration and Direct3D Acceleration are Enabled. To do this, click Start > Run and at the Run command box type dxdiag and then press ENTER.
At the next window, choose Yes
At the Display tab, under DirectX Features check if DirectDraw Acceleration and Direct3D Acceleration are Enabled
a. In Windows XP, if either of these features are disabled try to Enable them using the «Enable» option in that line.
b. In Windows 7 these options are enabled by Default and you don’t have the choice to Disable or Enable them.
If you still have errors with DirectX Diagnostic tool, try to download the latest display drivers from the manufacturer’s site and run the DxDiag tool again.
Step 2. After making sure that DirectDraw Acceleration and Direct3D Acceleration are Enabled, open Media Player Classic and if the above problem persists, go to File menu and choose View > Options
At the Options window, under Playback choose Output.
At the top right side in «DirectShow Video» option, use the drop – down arrow and select «System Default«. Then Choose OK to close this window.
Now close the Media player application and run it again.
If this article was useful for you, please consider supporting us by making a donation. Even $1 can a make a huge difference for us in our effort to continue to help others while keeping this site free:
If you want to stay constantly protected from malware threats, existing and future ones, we recommend that you install Malwarebytes Anti-Malware PRO by clicking below (we
do earn a commision from sales generated from this link, but at no additional cost to you. We have experience with this software and we recommend it because it is helpful and useful):
Full household PC Protection — Protect up to 3 PCs with NEW Malwarebytes Anti-Malware Premium!
Обновлено 03.08.2016
Всем привет, сегодня рассказываю как решить ошибку d3derr notavailable 0x8876086A при просмотре видео. Появляется она при запуске видео файла, вы ее закрываете и дальше идет воспроизведение, вроде все работает, но постоянная ошибка напрягает, да и не красиво это постоянно красноту видеть и на исправление то уходит две минуты.
Ошибка 0x8876086a
Давайте более наглядно взглянем на error 0x8876086a. Выскакивает она у меня в Windows 8.1, в программе Media Player Classic.
Что нужно сделать, что бы этого окна с сообщением d3derr notavailable больше не выскакивало. Требуется переустановка кодеков K-Lite. Заходите на официальный сайт codecguide.com. Выбираем нужную версию K-Lite кодеков, я обычно качаю Mega.
После скачивания дистрибутива, запускаем его. Вам подскажут, что у вас есть старая версия и ее бы хорошо удалить, говорим Да.
Начнется процесс удаления старой версии кодеков.
Через минуту у вас появится мастер установки k-Lite, щелкаем next.
Выбираем Preferred video player, предпочтительный проигрыватель.
Щелкаем next.
Задаем язык программы.
Далее можете выбрать аудио декодер.
По идее бы все пошла установка устраняющая ошибку d3derr notavailable 0x8876086A при просмотре видео, но тут немного рекламы, вам попытаются в парить утилиту AdBlock. Если хотите, ставьте, я жму Decline.
Все наконец то жмем заветную кнопку Install и производим переустановку кодеков.
Вам подскажут, что обнаружены проблемы в реестре Windows, и требуется внести обновления, жмем Да.
Подтверждаем каждое изменение, с удалением плохих.
Все установка закончена, так и закончена ваша ошибка createdevice failed error code 0x8876086a.
Если есть вопросы пишите в комментариях.
If you get the “Error setting display mode: CreateDevice failed (D3DERR_DEVICELOST)” message when you start a game, here’s the fix.
Various games can give you the error message CreateDevice failed (D3DERR_DEVICELOST) – which makes it somewhat challenging to give you a clear-cut solution to this problem. However, I will try my best to give you some general instructions
Locate Ini Files: Change Viewport / Resolution
1. Step Check if the game has a Options.ini or a file where it specifies the display resolution. Use totalcommander if you can’t seem to find it and search text within files. Search for something like GamePlayViewportX
2. Step Check your screen resolution of the monitor you want to play on (your main monitor)
3. Step Edit the Option.ini and change the display resolution to fit your actual display resolution, so that it says for example:
[Video]
GamePlayViewportX=1440
GamePlayViewportY=900
or if you have a HD resolution:
[Video]
GamePlayViewportX=1920
GamePlayViewportY=1080
Now start your game and the error should be gone.
Here was the full error I got:
2011.10.22 19:18:05
OS : Windows7(32) 6.1 (Build: 7601)
CPU : AuthenticAMD AMD Phenom(tm) II X6 1055T Processor @ 2810 MHz 4095MB RAM
Video : AMD Radeon HD 6800 Series (1083)
PosCode : LS1(273) 0:0:0 6/0 [528]Error setting display mode: CreateDevice failed (D3DERR_DEVICELOST). Please delete your Option.ini file if this error prevents you from starting the game.
History: UD3DRenderDevice::UnSetRes <- CreateDevice <- UD3DRenderDevice::SetRes <- HandleBigChange <- UD3DRenderDevice::Lock <- UViewport::Lock <- UWindowsViewport::Lock <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoop
11 hours ago, noodleBowl said:
You’ll be looking for a signature that looks something like this D3D11CreateDeviceAndSwapChain. This method will return the HRESULT value
There is no such command like CreateDeviceAndSwapChain but I found file where messagebox refers: failed to create:
//***************************************************************************************
// d3dApp.cpp by Frank Luna (C) 2011 All Rights Reserved.
//***************************************************************************************
#include "d3dApp.h"
#include <WindowsX.h>
#include <sstream>
namespace
{
// This is just used to forward Windows messages from a global window
// procedure to our member function window procedure because we cannot
// assign a member function to WNDCLASS::lpfnWndProc.
D3DApp* gd3dApp = 0;
}
LRESULT CALLBACK
MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
// Forward hwnd on because we can get messages (e.g., WM_CREATE)
// before CreateWindow returns, and thus before mhMainWnd is valid.
return gd3dApp->MsgProc(hwnd, msg, wParam, lParam);
}
D3DApp::D3DApp(HINSTANCE hInstance)
: mhAppInst(hInstance),
mMainWndCaption(L"D3D11 Application"),
md3dDriverType(D3D_DRIVER_TYPE_HARDWARE),
mClientWidth(800),
mClientHeight(600),
mEnable4xMsaa(false),
mhMainWnd(0),
mAppPaused(false),
mMinimized(false),
mMaximized(false),
mResizing(false),
m4xMsaaQuality(0),
md3dDevice(0),
md3dImmediateContext(0),
mSwapChain(0),
mDepthStencilBuffer(0),
mRenderTargetView(0),
mDepthStencilView(0)
{
ZeroMemory(&mScreenViewport, sizeof(D3D11_VIEWPORT));
// Get a pointer to the application object so we can forward
// Windows messages to the object's window procedure through
// the global window procedure.
gd3dApp = this;
}
D3DApp::~D3DApp()
{
ReleaseCOM(mRenderTargetView);
ReleaseCOM(mDepthStencilView);
ReleaseCOM(mSwapChain);
ReleaseCOM(mDepthStencilBuffer);
// Restore all default settings.
if( md3dImmediateContext )
md3dImmediateContext->ClearState();
ReleaseCOM(md3dImmediateContext);
ReleaseCOM(md3dDevice);
}
HINSTANCE D3DApp::AppInst()const
{
return mhAppInst;
}
HWND D3DApp::MainWnd()const
{
return mhMainWnd;
}
float D3DApp::AspectRatio()const
{
return static_cast<float>(mClientWidth) / mClientHeight;
}
int D3DApp::Run()
{
MSG msg = {0};
mTimer.Reset();
while(msg.message != WM_QUIT)
{
// If there are Window messages then process them.
if(PeekMessage( &msg, 0, 0, 0, PM_REMOVE ))
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
// Otherwise, do animation/game stuff.
else
{
mTimer.Tick();
if( !mAppPaused )
{
CalculateFrameStats();
UpdateScene(mTimer.DeltaTime());
DrawScene();
}
else
{
Sleep(100);
}
}
}
return (int)msg.wParam;
}
bool D3DApp::Init()
{
if(!InitMainWindow())
return false;
if(!InitDirect3D())
return false;
return true;
}
void D3DApp::OnResize()
{
assert(md3dImmediateContext);
assert(md3dDevice);
assert(mSwapChain);
// Release the old views, as they hold references to the buffers we
// will be destroying. Also release the old depth/stencil buffer.
ReleaseCOM(mRenderTargetView);
ReleaseCOM(mDepthStencilView);
ReleaseCOM(mDepthStencilBuffer);
// Resize the swap chain and recreate the render target view.
HR(mSwapChain->ResizeBuffers(1, mClientWidth, mClientHeight, DXGI_FORMAT_R8G8B8A8_UNORM, 0));
ID3D11Texture2D* backBuffer;
HR(mSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), reinterpret_cast<void**>(&backBuffer)));
HR(md3dDevice->CreateRenderTargetView(backBuffer, 0, &mRenderTargetView));
ReleaseCOM(backBuffer);
// Create the depth/stencil buffer and view.
D3D11_TEXTURE2D_DESC depthStencilDesc;
depthStencilDesc.Width = mClientWidth;
depthStencilDesc.Height = mClientHeight;
depthStencilDesc.MipLevels = 1;
depthStencilDesc.ArraySize = 1;
depthStencilDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
// Use 4X MSAA? --must match swap chain MSAA values.
if( mEnable4xMsaa )
{
depthStencilDesc.SampleDesc.Count = 4;
depthStencilDesc.SampleDesc.Quality = m4xMsaaQuality-1;
}
// No MSAA
else
{
depthStencilDesc.SampleDesc.Count = 1;
depthStencilDesc.SampleDesc.Quality = 0;
}
depthStencilDesc.Usage = D3D11_USAGE_DEFAULT;
depthStencilDesc.BindFlags = D3D11_BIND_DEPTH_STENCIL;
depthStencilDesc.CPUAccessFlags = 0;
depthStencilDesc.MiscFlags = 0;
HR(md3dDevice->CreateTexture2D(&depthStencilDesc, 0, &mDepthStencilBuffer));
HR(md3dDevice->CreateDepthStencilView(mDepthStencilBuffer, 0, &mDepthStencilView));
// Bind the render target view and depth/stencil view to the pipeline.
md3dImmediateContext->OMSetRenderTargets(1, &mRenderTargetView, mDepthStencilView);
// Set the viewport transform.
mScreenViewport.TopLeftX = 0;
mScreenViewport.TopLeftY = 0;
mScreenViewport.Width = static_cast<float>(mClientWidth);
mScreenViewport.Height = static_cast<float>(mClientHeight);
mScreenViewport.MinDepth = 0.0f;
mScreenViewport.MaxDepth = 1.0f;
md3dImmediateContext->RSSetViewports(1, &mScreenViewport);
}
LRESULT D3DApp::MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch( msg )
{
// WM_ACTIVATE is sent when the window is activated or deactivated.
// We pause the game when the window is deactivated and unpause it
// when it becomes active.
case WM_ACTIVATE:
if( LOWORD(wParam) == WA_INACTIVE )
{
mAppPaused = true;
mTimer.Stop();
}
else
{
mAppPaused = false;
mTimer.Start();
}
return 0;
// WM_SIZE is sent when the user resizes the window.
case WM_SIZE:
// Save the new client area dimensions.
mClientWidth = LOWORD(lParam);
mClientHeight = HIWORD(lParam);
if( md3dDevice )
{
if( wParam == SIZE_MINIMIZED )
{
mAppPaused = true;
mMinimized = true;
mMaximized = false;
}
else if( wParam == SIZE_MAXIMIZED )
{
mAppPaused = false;
mMinimized = false;
mMaximized = true;
OnResize();
}
else if( wParam == SIZE_RESTORED )
{
// Restoring from minimized state?
if( mMinimized )
{
mAppPaused = false;
mMinimized = false;
OnResize();
}
// Restoring from maximized state?
else if( mMaximized )
{
mAppPaused = false;
mMaximized = false;
OnResize();
}
else if( mResizing )
{
// If user is dragging the resize bars, we do not resize
// the buffers here because as the user continuously
// drags the resize bars, a stream of WM_SIZE messages are
// sent to the window, and it would be pointless (and slow)
// to resize for each WM_SIZE message received from dragging
// the resize bars. So instead, we reset after the user is
// done resizing the window and releases the resize bars, which
// sends a WM_EXITSIZEMOVE message.
}
else // API call such as SetWindowPos or mSwapChain->SetFullscreenState.
{
OnResize();
}
}
}
return 0;
// WM_EXITSIZEMOVE is sent when the user grabs the resize bars.
case WM_ENTERSIZEMOVE:
mAppPaused = true;
mResizing = true;
mTimer.Stop();
return 0;
// WM_EXITSIZEMOVE is sent when the user releases the resize bars.
// Here we reset everything based on the new window dimensions.
case WM_EXITSIZEMOVE:
mAppPaused = false;
mResizing = false;
mTimer.Start();
OnResize();
return 0;
// WM_DESTROY is sent when the window is being destroyed.
case WM_DESTROY:
PostQuitMessage(0);
return 0;
// The WM_MENUCHAR message is sent when a menu is active and the user presses
// a key that does not correspond to any mnemonic or accelerator key.
case WM_MENUCHAR:
// Don't beep when we alt-enter.
return MAKELRESULT(0, MNC_CLOSE);
// Catch this message so to prevent the window from becoming too small.
case WM_GETMINMAXINFO:
((MINMAXINFO*)lParam)->ptMinTrackSize.x = 200;
((MINMAXINFO*)lParam)->ptMinTrackSize.y = 200;
return 0;
case WM_LBUTTONDOWN:
case WM_MBUTTONDOWN:
case WM_RBUTTONDOWN:
OnMouseDown(wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
return 0;
case WM_LBUTTONUP:
case WM_MBUTTONUP:
case WM_RBUTTONUP:
OnMouseUp(wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
return 0;
case WM_MOUSEMOVE:
OnMouseMove(wParam, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
return 0;
}
return DefWindowProc(hwnd, msg, wParam, lParam);
}
bool D3DApp::InitMainWindow()
{
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = mhAppInst;
wc.hIcon = LoadIcon(0, IDI_APPLICATION);
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH);
wc.lpszMenuName = 0;
wc.lpszClassName = L"D3DWndClassName";
if( !RegisterClass(&wc) )
{
MessageBox(0, L"RegisterClass Failed.", 0, 0);
return false;
}
// Compute window rectangle dimensions based on requested client area dimensions.
RECT R = { 0, 0, mClientWidth, mClientHeight };
AdjustWindowRect(&R, WS_OVERLAPPEDWINDOW, false);
int width = R.right - R.left;
int height = R.bottom - R.top;
mhMainWnd = CreateWindow(L"D3DWndClassName", mMainWndCaption.c_str(),
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, width, height, 0, 0, mhAppInst, 0);
if( !mhMainWnd )
{
MessageBox(0, L"CreateWindow Failed.", 0, 0);
return false;
}
ShowWindow(mhMainWnd, SW_SHOW);
UpdateWindow(mhMainWnd);
return true;
}
bool D3DApp::InitDirect3D()
{
// Create the device and device context.
UINT createDeviceFlags = 0;
#if defined(DEBUG) || defined(_DEBUG)
createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
D3D_FEATURE_LEVEL featureLevel;
HRESULT hr = D3D11CreateDevice(
0, // default adapter
md3dDriverType,
0, // no software device
createDeviceFlags,
0, 0, // default feature level array
D3D11_SDK_VERSION,
&md3dDevice,
&featureLevel,
&md3dImmediateContext);
if( FAILED(hr) )
{
MessageBox(0, L"D3D11CreateDevice Failed.", 0, 0);
return false;
}
if( featureLevel != D3D_FEATURE_LEVEL_11_0 )
{
MessageBox(0, L"Direct3D Feature Level 11 unsupported.", 0, 0);
return false;
}
// Check 4X MSAA quality support for our back buffer format.
// All Direct3D 11 capable devices support 4X MSAA for all render
// target formats, so we only need to check quality support.
HR(md3dDevice->CheckMultisampleQualityLevels(
DXGI_FORMAT_R8G8B8A8_UNORM, 4, &m4xMsaaQuality));
assert( m4xMsaaQuality > 0 );
// Fill out a DXGI_SWAP_CHAIN_DESC to describe our swap chain.
DXGI_SWAP_CHAIN_DESC sd;
sd.BufferDesc.Width = mClientWidth;
sd.BufferDesc.Height = mClientHeight;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED;
sd.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
// Use 4X MSAA?
if( mEnable4xMsaa )
{
sd.SampleDesc.Count = 4;
sd.SampleDesc.Quality = m4xMsaaQuality-1;
}
// No MSAA
else
{
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
}
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.BufferCount = 1;
sd.OutputWindow = mhMainWnd;
sd.Windowed = true;
sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
sd.Flags = 0;
// To correctly create the swap chain, we must use the IDXGIFactory that was
// used to create the device. If we tried to use a different IDXGIFactory instance
// (by calling CreateDXGIFactory), we get an error: "IDXGIFactory::CreateSwapChain:
// This function is being called with a device from a different IDXGIFactory."
IDXGIDevice* dxgiDevice = 0;
HR(md3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void**)&dxgiDevice));
IDXGIAdapter* dxgiAdapter = 0;
HR(dxgiDevice->GetParent(__uuidof(IDXGIAdapter), (void**)&dxgiAdapter));
IDXGIFactory* dxgiFactory = 0;
HR(dxgiAdapter->GetParent(__uuidof(IDXGIFactory), (void**)&dxgiFactory));
HR(dxgiFactory->CreateSwapChain(md3dDevice, &sd, &mSwapChain));
ReleaseCOM(dxgiDevice);
ReleaseCOM(dxgiAdapter);
ReleaseCOM(dxgiFactory);
// The remaining steps that need to be carried out for d3d creation
// also need to be executed every time the window is resized. So
// just call the OnResize method here to avoid code duplication.
OnResize();
return true;
}
void D3DApp::CalculateFrameStats()
{
// Code computes the average frames per second, and also the
// average time it takes to render one frame. These stats
// are appended to the window caption bar.
static int frameCnt = 0;
static float timeElapsed = 0.0f;
frameCnt++;
// Compute averages over one second period.
if( (mTimer.TotalTime() - timeElapsed) >= 1.0f )
{
float fps = (float)frameCnt; // fps = frameCnt / 1
float mspf = 1000.0f / fps;
std::wostringstream outs;
outs.precision(6);
outs << mMainWndCaption << L" "
<< L"FPS: " << fps << L" "
<< L"Frame Time: " << mspf << L" (ms)";
SetWindowText(mhMainWnd, outs.str().c_str());
// Reset for next average.
frameCnt = 0;
timeElapsed += 1.0f;
}
}
Looking to comments it seems that is probably possible to change some options to make it work but I have no knowledge about these things because I just started to learn.
Содержание
- Гайд по ошибкам в World of Tanks Blitz: фатальный сбой, 0xc0000005, 0x00000000, крит при запуске, ошибка записи на диск, зависание
- Как устранить ошибки в World of Tanks Blitz?
- Исправление фатальной ошибки
- Убираем ошибку 0xc0000005
- Как устранить ошибку 0x00000000?
- Что делать, когда игра не включается или критует при запуске?
- Исправляем ошибку записи на диск
- Зависание, лаги и другие проблемы с производительностью
- Решение: Rendering error 0x00000002 wot blitz
- Ошибка рендеринга 0х00000007 ошибка видеодрайвер world of tanks blitz
- Как устранить ошибки в World of Tanks Blitz?
- Исправление фатальной ошибки
- Убираем ошибку 0xc0000005
- Как устранить ошибку 0x00000000?
- Что делать, когда игра не включается или критует при запуске?
- Исправляем ошибку записи на диск
- Зависание, лаги и другие проблемы с производительностью
Гайд по ошибкам в World of Tanks Blitz: фатальный сбой, 0xc0000005, 0x00000000, крит при запуске, ошибка записи на диск, зависание
Игроки World of Tanks Blitz на ПК по всему миру сталкиваются с фатальными ошибками, кодами 0xc0000005, 0x00000000, проблемами запуска, записи на диск и другими. Мы собрали самые распространенные проблемы воедино и предлагаем их исправление.
Как устранить ошибки в World of Tanks Blitz?
Уже много лет World of Tanks Blitz занимает лидирующие позиции среди MMO-игр, особенно в своей нише (сражения с участием техники). У нее наибольшая фанатская база и хороший разработчик, но и это не является гарантией стабильной работы. Все равно часто попадаются различные ошибки. Подробности об их исправлении расположены ниже.
Исправление фатальной ошибки
Fatal Error – это сбой, при котором World of Tanks Blitz завершает свою работу. Она часто встречается во всех компьютерных играх, в том числе в WoT.
Для ее исправления рекомендуем:
- Обновить драйвера для графического процессора. Если проблема произошла как раз после обновления, стоит откатить ПО.
- Проверить, поддерживает ли видеоадаптер DirectX В старых моделях графических карт может быть реализована DX 11, но с ограниченным функционалом.
- Вручную указать ноутбуку, что для запуска игры нужно использовать дискретную видеокарту. Для этого переходим в «Панель управления NVidia» через ПКМ по рабочему столу и в разделе «Управление настройками 3D» выбираем игру и разрешаем ей использовать «Высокопроизводительный процессор Nvidia». Подобные настройки стоит выполнить и для AMD графики.
Убираем ошибку 0xc0000005
Если мешает играть в World of Tanks Blitz ошибка 0xc0000005, следует придерживаться таких методов решения:
- Отключаем антивирус вместе с «Защитником Windows». Они могут блокировать работу модулей игры, что и вызывает ошибку. Временное отключение позволит диагностировать проблему, а затем уже можем принимать решение. Возможно, для исправления ошибки будет достаточно занести ярлык игры в исключения.
- Сканируем систему. Если вставить в командную строку sfc /scannow и нажать Enter, запустится поиск неполадок в системных файлах и их автоматическое исправление. Это нередко помогает.
Как устранить ошибку 0x00000000?
Данная неполадка связана со сборкой Windows. Обычно помогает либо обновление операционной системы, либо ее откат к предыдущей версии.
Что делать, когда игра не включается или критует при запуске?
Игроки массово сообщают, что у них появляются проблемы с запуском. Их могут вызывать разносторонние неполадки. Все известные исправления представлены ниже:
- Проверяем наличие прав администратора для игры. Для этого через ПКМ переходим в «Свойства» и в разделе «Совместимость» устанавливаем соответствующий флажок.
- Отключаем стороннее ПО для мониторинга. Особенно часто жалуются на MSI Afterburner. Однако, лучше вовсе отказаться от других программ на момент запуска игры.
- Отключаем антивирус и «Защитник Windows».
Исправляем ошибку записи на диск
Проблема встречается у многих компьютерных игр, поэтому средства исправления уже довольно давно известны:
- Выдаем права администратора, при чем не только для World of Tanks Blitz, но и Steam.
- Открываем командную строку и последовательно вводим diskpart, list disk, select disk № – вместо № вводим номер диска с игрой, который получили в результате предыдущих манипуляций. Последний этап – attributes disk clear readonly.
- Переустанавливаем проблемные файлы. Переходим в директорию с «Steam/logs/content_log и ищем строку «failed to write» Извлекаем отсюда путь, идем по нему и удаляем проблемный файл. Теперь в клиенте Steam запускаем сканирование игры через «Свойства».
Зависание, лаги и другие проблемы с производительностью
World of Tanks Blitz работает с низким fps, сильно лагает, зависает или периодически просаживается частота кадров? Вот что мы рекомендуем выполнить:
- Обновить драйвера для видеокарты.
- Проверить, что есть достаточно свободных ресурсов процессора, графической карты и жесткого диска.
- Настраиваем графику. Нужно перейти в «Панель управления Nvidia» в раздел «Управление настройками 3D» на страницу «Настройки программы» выбираем World of Tanks Blitz. Для параметра «Режим управления питанием» устанавливаем «Предпочитать максимальную производительность». Задаем настройку «Качество фильтрации текстур» в положение «Высокая производительность». Последний момент – включаем вертикальную синхронизацию, при этом отключаем ее в самой игре.
Это все доступные нам сведения об исправлении ошибок World of Tanks Blitz при запуске, с кодом 0xc0000005, 0x00000000, проблем с записью на диск.
Источник
Решение: Rendering error 0x00000002 wot blitz
Ошибка rendering error 0x00000002 или 0x00000000 в wot blitz возникает чаще всего во время запуска игры, иногда во время игры. Ошибка связана с рендеригом изображения, т.е. ошибка так или иначе связана с видеодрайвером или видеокартой.
- В первую очередь обращаем внимание, есть ли софт, который автоматически обновляет драйвера, типа DriverPack и подобных. Если такой софт имеется, переходите на сайт разработчика вашей видеокарты и установите прошлую версию видеодрайвера. Велика вероятность, что обновленный драйвер делает работу не стабильной.
- Если у нас видеокарта NVIDIA, перейдите в панель управления, затем -> управление параметрами 3D -> глобальные настройки -> в списке выбираете «высокопроизводительный процессор nVidia».
- Если у вас на устройстве есть несколько видеокарт, убедитесь, что в настройках видеопроцессора установлена верная видеокарта.
- Далее обновляем DirecX. Скачайте последнюю весрию с официального сайта по ссылке. На сайте выберите Русский язык, нажмите «Скачать», а в появившемся окне «Отказаться и продолжить». После скачивания запустите установочный файл и следуйте инструкции.
После каждой манипуляции с драйверами перезагружайте ваш ПК.
Если вам помогло другое решение rendering error 0x00000002, сообщите об этом в комментариях.
Источник
Ошибка рендеринга 0х00000007 ошибка видеодрайвер world of tanks blitz
В World of Tanks Blitz, как и любой другой игре, у пользователя возникают самые разные ошибки. Некоторые из них являются проблемой, созданной разработчиком, а другие же появились из-за неправильной эксплуатации компьютера со стороны пользователя. Есть достаточно распространенная ошибка, когда во время открытия игры появляется rendering error. Эта ошибка возникает у многих пользователей регулярно и решить ее можно только путем пары манипуляций.
p, blockquote 1,0,0,0,0 —>
p, blockquote 2,0,1,0,0 —>
Проблемы запуска WoT на Windows 7. Узнайте как решить эту неприятность. p, blockquote 3,0,0,0,0 —>
Ошибка Rendering в World of Tanks возникает из-за того, что произошли неполадки с видеокартой. Они связаны исключительно с ней. По сути эта проблема могла возникнуть из-за обновления драйверов. Дело в том, что компания могла ошибиться и это случилось по их халатности. Либо же на операционной системе Windows сбились некоторые настройки видеокарты. В первую очередь стоит вспомнить, обновлялись ли драйвера для видеокарты. Если да, то пользователь должен вернуть старую версию драйверов. Можно скачать с официального сайта-производителя, либо откатить систему на пару дней назад. Если же это не помогло или драйвера видеокарты не обновлялись, нужно проделать следующие манипуляции:
- Необходимо открыть программное обеспечение от Nvidia, которое по стандарту установлено на компьютере пользователя.
- Перейти в настройки 3D параметров, выбрав глобальные настройки.
- Напротив пункт графического процессора и вместо «автоматического» варианта выбрать «высокопроизводительный процессор».
p, blockquote 5,0,0,0,0 —>
После этого должно все работать, а World of Tanks Blitz вновь начнет запускаться на компьютере пользователя. Если же у игрока видеокарта AMD, то там нужно проделать ровно такие же манипуляции. Различие лишь в разных программах, все остальное остается на своих местах.
p, blockquote 6,0,0,1,0 —>
Произойти такая ошибка могла из-за того, что фирменное программное обеспечение решило после обновления поменять настройки. Либо же в фоновом режиме оно по каким-то причинам решило, что пользователю так будет лучше. World of Tanks Blitz же банально не работает в этом режиме.
Игроки World of Tanks Blitz на ПК по всему миру сталкиваются с фатальными ошибками, кодами 0xc0000005, 0x00000000, проблемами запуска, записи на диск и другими. Мы собрали самые распространенные проблемы воедино и предлагаем их исправление.
Как устранить ошибки в World of Tanks Blitz?
Уже много лет World of Tanks Blitz занимает лидирующие позиции среди MMO-игр, особенно в своей нише (сражения с участием техники). У нее наибольшая фанатская база и хороший разработчик, но и это не является гарантией стабильной работы. Все равно часто попадаются различные ошибки. Подробности об их исправлении расположены ниже.
Исправление фатальной ошибки
Fatal Error – это сбой, при котором World of Tanks Blitz завершает свою работу. Она часто встречается во всех компьютерных играх, в том числе в WoT.
Для ее исправления рекомендуем:
- Обновить драйвера для графического процессора. Если проблема произошла как раз после обновления, стоит откатить ПО.
- Проверить, поддерживает ли видеоадаптер DirectX В старых моделях графических карт может быть реализована DX 11, но с ограниченным функционалом.
- Вручную указать ноутбуку, что для запуска игры нужно использовать дискретную видеокарту. Для этого переходим в «Панель управления NVidia» через ПКМ по рабочему столу и в разделе «Управление настройками 3D» выбираем игру и разрешаем ей использовать «Высокопроизводительный процессор Nvidia». Подобные настройки стоит выполнить и для AMD графики.
Убираем ошибку 0xc0000005
Если мешает играть в World of Tanks Blitz ошибка 0xc0000005, следует придерживаться таких методов решения:
- Отключаем антивирус вместе с «Защитником Windows». Они могут блокировать работу модулей игры, что и вызывает ошибку. Временное отключение позволит диагностировать проблему, а затем уже можем принимать решение. Возможно, для исправления ошибки будет достаточно занести ярлык игры в исключения.
- Сканируем систему. Если вставить в командную строку sfc /scannow и нажать Enter, запустится поиск неполадок в системных файлах и их автоматическое исправление. Это нередко помогает.
Как устранить ошибку 0x00000000?
Данная неполадка связана со сборкой Windows. Обычно помогает либо обновление операционной системы, либо ее откат к предыдущей версии.
Что делать, когда игра не включается или критует при запуске?
Игроки массово сообщают, что у них появляются проблемы с запуском. Их могут вызывать разносторонние неполадки. Все известные исправления представлены ниже:
- Проверяем наличие прав администратора для игры. Для этого через ПКМ переходим в «Свойства» и в разделе «Совместимость» устанавливаем соответствующий флажок.
- Отключаем стороннее ПО для мониторинга. Особенно часто жалуются на MSI Afterburner. Однако, лучше вовсе отказаться от других программ на момент запуска игры.
- Отключаем антивирус и «Защитник Windows».
Исправляем ошибку записи на диск
Проблема встречается у многих компьютерных игр, поэтому средства исправления уже довольно давно известны:
Зависание, лаги и другие проблемы с производительностью
World of Tanks Blitz работает с низким fps, сильно лагает, зависает или периодически просаживается частота кадров? Вот что мы рекомендуем выполнить:
- Обновить драйвера для видеокарты.
- Проверить, что есть достаточно свободных ресурсов процессора, графической карты и жесткого диска.
- Настраиваем графику. Нужно перейти в «Панель управления Nvidia» в раздел «Управление настройками 3D» на страницу «Настройки программы» выбираем World of Tanks Blitz. Для параметра «Режим управления питанием» устанавливаем «Предпочитать максимальную производительность». Задаем настройку «Качество фильтрации текстур» в положение «Высокая производительность». Последний момент – включаем вертикальную синхронизацию, при этом отключаем ее в самой игре.
Это все доступные нам сведения об исправлении ошибок World of Tanks Blitz при запуске, с кодом 0xc0000005, 0x00000000, проблем с записью на диск.
Недавно столкнулся с данной ошибкой: «Произошла ошибка , связанная с работой видеокарты . Обычно она возникает из-за сбоя видео драйвера. Попробуйте обновить драйверы, проверьте настройки видеокарты или перезагрузите компьютер». Ошибка впервые возникла во время игры в World of Tanks.
Ситуация удручающая, поскольку никакие способы её решения предлагаемые всякими «мамкиными хакерами» и прочими «компьютерными гениями с Youtube», а так же предложения на этом форуме, решить данную проблему мне не помогли ( перечитал просто огромную кучу форумов и всевозможных сайтов по настройке, оптимизации, отладке, разгону и прочего «бреда» касаемо видеокарт)
Комплектующие: AMD Ryzen 5 1600; Мат. плата: ASUS Prime X370-A (BIOS обновлен); Видеокарта: MSI GeForce GTX 1050 TI 4GT OC; ОЗУ: Hyper X FURY Black 16 Гб (частота 2400 Мгц); БП: ZALMAN LE2 600W
Операционная система: Windows 7 x64 Beslam Edition, версия драйвера Nvidia: 417.17 (скачан с официального сайта Nvidia).
Видеокарта была куплена в магазине ДНС, в октябре 2018 года, разгоном я не занимался. При включении World of Tanks видеокарта сама повышает частоту ядра, при этом температура в пике составляет всего навсего 54 градуса. Штатная частота видеокарты в 1341 Мгц в WoTколеблется от 1600 до 1900 Мгц., после 5 минут игры, просто всё повисает и появляется вышеуказанная ошибка «связанная с работой видеокарты».
На данном форуме решения я так и не увидел, поэтому и решил снова открыть эту тему. При последнем запуске компьютера сразу после загрузки операционной системы, начала появляться ошибка Kernel Driver, мол вышел из строя и был восстановлен. Что делать я уже не знаю, видеокарту по гарантии сдавать и две недели как минимум ждать результата диагностики в сервисном центре просто не хочу, по скольку знаю какие безответственные люди там работают и как они проводят эту «диагностику». Если у кого-то есть дельный совет, прошу мне помочь. Заранее благодарю!
После многочисленных попыток настройки драйверов, удаления и т.п., помогает лишь MSI Afterburner. Скидываем все настройки на стандартные (хотя они таковыми и являются), потом убираем ползунок Power Limit на самый минимум, проверяем. Если ошибка не исчезает, тогда пробуем постепенно понижать частоту ядра, память не трогаем.
У меня частота ядра в бусте 1355 Мгц (должна быть) но моя шибанутая видеокарта автоматически гонит ядро вплоть до 1900 Мгц. так вот после того как я убрал ползунок Power Limit на минимум, максимально допустимое значение частоты ядра варьируется в диапазоне от 1300 до 1450 Мгц. Что в принципе не критично, дрова перестали сыпаться и игра перестала выдавать ошибку. При всём этом температура ядра не выше 40 градусов.
Здравствуйте, ребята. Знающие люди, подскажите пожалуйста, у меня windows 7 стоит, установил Steam и закачал через нее WOT blitz, поскольку очень хочется поиграть в нее через комп на большом мониторе, понимаете да? )) Воот, вроде все установилось все хорошо, и при первой же попытке запуска игры выскакивает окно с ошибкой «Rendering error 0x00000000: UnknownError. Program will terminate.»
Пробовал обновлять кэш, удалять папку DavaProject, не помогло. Человеку толком не разбирающемуся опишите проблему подробнее, если не трудно. Заранее благодарю.
Мне помогло следующее:
Панель управления nVidia — управление параметрами 3D — глобальные настройки — предпочтительный графический процессор выбрать вместо «Авто» высокопроизводительный процессор nVidia. ПРЕДУПРЕЖДЕНИЕ! Запуск некоторых приложений возможен с ошибками (особенно в Win8 и Win10). В случае их возникновения необходимо вновь выставить режим «Авто».
Это драйвера на видео — у меня два раза такое было, сначала на win 10, потом на win7. Radeon 7770 1 gb / windows 7 x64 prof. Драйвера обновились до последней версии и выскочила такая ошибка, удалил полностью, поставил прошлую версию — все заработало. Как вариант можно переключиться на встроенное видео если есть — переключился — тоже заработало.
обновление и переустоновка драйвера не решила проблемму. Notebook msi видеоплата Mobile Intel(R) 945 Express Chipset Family
Пробовал запустить нанетбуке msi игруху выкидывает такую же ошибку дрова на видюху не нашёл помогитерешить проблемму, в nVidia ничего не нашёл тоже.
При входе в игру World of Tanks Blitz rendering error 0x00000000:Failed To CreateDevice. Program will terminate помогите пожалуйста
помогите при запуске выдает (Прекращена работа программы World of Tanks Blitz
Проблема в том что встроенная видеокарта занимает лидирующие позиции. Сделайте приоритет в настройках высокопроизводительной видеокарты или снесите интегрированную.
у меня ошибка Rendering error 0x00000001: Failed To Create Swapchain Program will terminate у меня Винда 10 я установил бесплатно из магазина виндус 10
Ошибка подобная World of Tanks Blitz rendering error 0x00000003 Program will terminate Video Drive and Video Devises. Помогло только запускатся через значек блитс танкса из папки с игрой ( не оригинальный значек в виде ссылки))) Более того такой запуск происходит без запуска стим)))) + в видеокарту настройки Radeon поставлена эта игра и в параметры — система -настройки графики ищем в папке игры значек вот блитс выбираем класическое приложение обзор ставим этот значек и тыкаем параметры- высокая производительность))) Иначе неработало)))
Здравствсвуйте! При запуске World of Tanks Blitz, постоянно начинает обновляться, после обновления пробую запустить: выдает ошибку 0x312. Знающие люди-помогите пожалуйста.
Источник