Sign in to follow this  
Followers 0
KalInEx

I am new is there such a thing as a "memory" array?

4 posts in this topic

I want to use CreateDIBSection() to create a bitmap so that the bit values can be accessed more directly than using GetPixel() or SetPixel(). I know from experience that those standard routines are 20x slower than using pointers to modify the memory used to store the color values. I assume this speedup is solely because the setter and getter routines are generic and made to work with any type and color format for the bitmaps they are made to work with (I know it could have been done better 20x is HUGE!!!).

Anyway to make a long story shorter I want more direct access to the bitmap bit values can AutoIT do this? I am new so if I missed something about the language syntax forgive me. As a note: ReadProcessMemory() and WriteProcessMemory() are not solutions it would really take pointers to get a significant speedup for some serious gamer OCR =>

Share this post


Link to post
Share on other sites



There are several results when I search the forum for CreateDIBSection, are those not working for you?

LOL First place I check is the help file and then when I dont find it there I search. Problem is I was not searching for CreateDIBSection => ty. I read through one post that was informative although still it does not tell me how to use an address returned by a function as an array. I'll figure it out or find out I can't one way or another!

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

I want to use CreateDIBSection() to create a bitmap so that the bit values can be accessed more directly than using GetPixel() or SetPixel(). I know from experience that those standard routines are 20x slower than using pointers to modify the memory used to store the color values. I assume this speedup is solely because the setter and getter routines are generic and made to work with any type and color format for the bitmaps they are made to work with (I know it could have been done better 20x is HUGE!!!).

Anyway to make a long story shorter I want more direct access to the bitmap bit values can AutoIT do this? I am new so if I missed something about the language syntax forgive me. As a note: ReadProcessMemory() and WriteProcessMemory() are not solutions it would really take pointers to get a significant speedup for some serious gamer OCR =>

I have a function in the A3LLibrary module of Auto3Lib (_Lib_CreateSolidBitmap) that I use to create bitmaps in memory. The function uses an array of integers to hold the bits of the bitmap and you can manipulate them 32 bits at a time. It might bit worth taking a look at or at least give you some ideas. Edited by PaulIA

Auto3Lib: A library of over 1200 functions for AutoIt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0