Статии, маркирани с 'tricks'
Windows 4G ram barrier 20091130
Както е описано в "Дебелите книги" Windows 32 може да поддържа до 4G ram:
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
Но явно някой е взел "ограничението" много присърце и е публикувал начин за премахване на ограничението:
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
Уви горепосочения код работи само под Vista, но съм убеден че с елементарни промени може да се портне и към Windows 7.
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
Но явно някой е взел "ограничението" много присърце и е публикувал начин за премахване на ограничението:
http://www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm
Уви горепосочения код работи само под Vista, но съм убеден че с елементарни промени може да се портне и към Windows 7.
DisablePagingExecutive vs Hibernate 20091120
Ако сте си редактирали настройките на Windows и "случайно" сте открили че hibernate вече не работи проверете DisablePagingExecutive али не е на 1. За да проработи hibernate настройката трябва да е 0!
Ето и хитър метод за превключването му (и много интересен начин за бърза промяна)
Сега какво е значението на 0 и 1. Според TechNet - http://technet.microsoft.com/en-us/library/cc959492.aspx при 0 части от кернела заедно с някой драйвери МОЖЕ да се запишат в pagefile. При 1 за съжаление те винаги си остават във физическата памет (т.е. функцията за пейджване няма да проработи).
Ето и хитър метод за превключването му (и много интересен начин за бърза промяна)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 0x00 /f
Сега какво е значението на 0 и 1. Според TechNet - http://technet.microsoft.com/en-us/library/cc959492.aspx при 0 части от кернела заедно с някой драйвери МОЖЕ да се запишат в pagefile. При 1 за съжаление те винаги си остават във физическата памет (т.е. функцията за пейджване няма да проработи).
x64 Flash .Net 20090414
Актуален проблем.
Правим програмка на .Net, слагаме един WebBrowser, тестваме и всичко работи.
ОБАЧЕ на една конкретна машина страницата не се визуализира поради проблем. След няколко дена се разбира че машината е Vista64, пробваме и действително има проблем - Flash не се показва.
Анализ - оказва се че .Net когато работи на 32 битова ОС си зарежда коректно 32 битовия Internet Explorer където има Flash Player. На 64 битова ОС - .Net framework зарежда обаче 64 битов Internet Explorer където обаче Flash Player няма. Всъщност 64 битов Flash няма и това е корена на проблема.
Сега - задачата е как да спасим готовия .Net проект без цялостно преработване?
Решението е просто и ми беше подсказано оттук:
Getting net bots work x64 systems
Това указва на .Net framework да се зарежда 32 битовата версия (дори и на 64 битова ОС). Internet Explorer успява да зареди Flash и проекта е спасен - с цената на 4 часа четене и един, единствен ред написан по него.
Правим програмка на .Net, слагаме един WebBrowser, тестваме и всичко работи.
ОБАЧЕ на една конкретна машина страницата не се визуализира поради проблем. След няколко дена се разбира че машината е Vista64, пробваме и действително има проблем - Flash не се показва.
Анализ - оказва се че .Net когато работи на 32 битова ОС си зарежда коректно 32 битовия Internet Explorer където има Flash Player. На 64 битова ОС - .Net framework зарежда обаче 64 битов Internet Explorer където обаче Flash Player няма. Всъщност 64 битов Flash няма и това е корена на проблема.
Сега - задачата е как да спасим готовия .Net проект без цялостно преработване?
Решението е просто и ми беше подсказано оттук:
Getting net bots work x64 systems
CorFlags FILE.exe /32BIT+ /ForceТова указва на .Net framework да се зарежда 32 битовата версия (дори и на 64 битова ОС). Internet Explorer успява да зареди Flash и проекта е спасен - с цената на 4 часа четене и един, единствен ред написан по него.
Temporary FileSystem 20090324
Концепцията на Linux за tmpfs ми харесва. Реално прави се файлова система която се намира в оперативната памет и при изключване на захранването цялата информация изчезва (всъщност не е и необходима). Така може да се използва RAM паметта за по-интензивни операции които да се записват на файловата система след изпълнение на дейноста.
Досега живях с илюзията че подобно нещо може да се реализира под Windows само ако е направено като RAM DISK, но се сетих че има и заобиколен начин.
CreateFile има два много специфични параметри - FILE_ATTRIBUTE_TEMPORARY и FILE_FLAG_DELETE_ON_CLOSE. При използването им съдържанието целия файл ще бъде съхранен в оперативната памет без следа на диска с две изключения - името му ще бъде някъде на диска и при изчерпване на паметта може да бъде временно съхранен на диска.
Това е и един много хитър трик с който 32 битови приложения могат да адресират повече от 2GB RAM без прекомпилация.
Отделно може се използва при декодиране на данни - на диска са записани кодирани и/или компресирани. С прост код се декомпресират/декодират във временен файл и който после се използва директно от паметта.
Досега живях с илюзията че подобно нещо може да се реализира под Windows само ако е направено като RAM DISK, но се сетих че има и заобиколен начин.
CreateFile има два много специфични параметри - FILE_ATTRIBUTE_TEMPORARY и FILE_FLAG_DELETE_ON_CLOSE. При използването им съдържанието целия файл ще бъде съхранен в оперативната памет без следа на диска с две изключения - името му ще бъде някъде на диска и при изчерпване на паметта може да бъде временно съхранен на диска.
Това е и един много хитър трик с който 32 битови приложения могат да адресират повече от 2GB RAM без прекомпилация.
Отделно може се използва при декодиране на данни - на диска са записани кодирани и/или компресирани. С прост код се декомпресират/декодират във временен файл и който после се използва директно от паметта.
« предишна страница
(Страница 1 от 1, общо 4 статии)
следваща страница »
