![]() |
Страницы (3): « 1 [2] 3 » Показать все 31 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Флуд (https://hlfx.ru/forum/forumdisplay.php?forumid=11)
-- Alt+Tab во время игры (https://hlfx.ru/forum/showthread.php?threadid=3196)
__________________
I tell you to enjoy life
__________________
underworlddemon
У меня в первой хл фпс в потолок на любых разрешениях, а у тебя вона вообще синие экраны, так что кто его знает, что да почему.
А вообще, если бы в моём двиге фпс зависел от разрешения экрана в любом режиме, я бы радовался, да. Это признак грамотной архитектуры.
__________________
underworlddemon
В вон версии - да, 72 фпс. А в стим-версию не играю, там какие-то дурацкие окошки в меню, и отсутствие непрерывных ченжлевелов, опять же.
__________________
А в чем вообще проблема с вызовом CDS при сворачивании и повторном вызове при разворачивании?..
Government-Man
Да вот хороший вопрос. Можно поэкспериментировать, но где гарантии, что не слетит контекст? В том же DirectX все буферы тут же Lost после смены разрешения, но там есть функции Restore, а в OpenGL ничего такого нет.
__________________
ну я в ксаше меняю. Контекст пересоздаю. Текстуры не выгружаю.
Никто еще не жаловался.
ЗЫ, Это меня Ксерокс научил
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
После пересоздания контекста надо обязательно перезагрузить текстуры, т.к. они привязаны к контексту.
__________________
А, набрехал. Я контекст не удаляю. Я сначала делаю текущий контекст нулевым, а потом даю ему указатели на вновь созданное окошко.
При таком подходе текстуры перегружать не надо.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Контекст привязан к HDC, у каждого окошка свой HDC. Значит, для каждого нового окошка ты обязан создать новый контекст. Если старый не удаляешь - то достаточно сделать wglShareLists. Но если ты будешь делать это при каждом альт-табе - то количество контекстов быстро вырастет и что-нибудь обязательно вылетит.
__________________
Кстати, в лфд (может и в других вальве-играх тоже) есть хороший режим - в окне без рамки. Можно поставить окно размером с рабочий стол, и будет как фуллскрин, только с быстрым альт-табом и прочими приятностями.
нунифига себе
BUzer ну нельзя же так людей пугать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
BUzer, классно придумали.
На Xash'е тоже попробовал (AutoIt3):
code:
#include <WindowsConstants.au3> $hWindow = WinGetHandle("Xash") _WinSetStyle($hWindow, $WS_POPUP) WinMove ("Xash", "", 0, -25) Func _WinSetStyle($hWnd, $nStyle = -1, $nExStyle = 0) Local Const $GWL_STYLE = -16, $GWL_EXSTYLE = -20 Local Const $SWP_NOMOVE = 0x2, $SWP_NOSIZE = 0x1, $SWP_SHOWWINDOW = 0x40, $SWP_NOZORDER = 0x4 Local $iFlags = BitOR($SWP_SHOWWINDOW, $SWP_NOSIZE, $SWP_NOMOVE, $SWP_NOZORDER) If $nStyle = -1 Then $nStyle = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU) DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "int", $nStyle) DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_EXSTYLE, "int", $nExStyle) DllCall("User32.dll", "int", "SetWindowPos", "hwnd", $hWnd, "hwnd", 0, "int", 0, "int", 0, "int", 0, "int", 0, "int", $iFlags) EndFunc
Временная зона GMT. Текущее время 11:16. | Страницы (3): « 1 [2] 3 » Показать все 31 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024