ReadProcessMemory is very costly and can cause a big performance impact. What we can do is reduce the usage on some part of the code. For example, reading big chunk of surfaces data blob.