2009-05-19 3 views

답변

1

PAGE_WRITECOMBINE을 VirtualAllocEx()에 전달하십시오. 해당 페이지에 대한 순차적 쓰기는 MMU에 의해 쓰기 결합됩니다. 읽기 또는 비 순차 쓰기는 심각한 성능 저하를 초래합니다.

+0

나는 시도 : char * ans = (char *) VirtualAllocEx (hProcess, 0,1024 * 1024 * 64, MEM_COMMIT, PAGE_READWRITE | PAGE_WRITECOMBINE); GetLastError = 87 으로 PAGE_WRITECOMBINE을 PAGE_NOCACHE로 바꿀 때 항상 0을 반환합니다. 제대로 작동하고 메모리 액세스가 매우 느립니다. 하지만 나는 movntdqa가 광고 된대로 작동하도록 결합하여 작성해야합니다. – yigal

+0

흠. VirtualProtectEx()로 페이지 작성 후 사용 권한을 변경하십시오. – Crashworks

+0

도 작동하지 않습니다. 아래 코드는 여전히 87 unsigned long old를 반환합니다. err = VirtualProtectEx (hProcess, ans, size, PAGE_READWRITE | PAGE_WRITECOMBINE, &old); – yigal

관련 문제