История изменений
Исправление
deadplace,
(текущая версия)
:
Я почитал тред и кажется понял,что хочет ТС.
1. ТС, возьми любой ЯП, где есть обвязка к SDL2 (SDL1.2 тоже сойдет, он просто старый).
2. Как тебе сказали, у тебя нет нужды писать в память непоследовательно, организуй цикл правильно.
3. Нагенерируй массив из 256 рандомных цветов.
4. Подсчитай значение x' = x * a mod 256 (возьми a каким-нибудь простым типа 53 или 13).
5. Подсчитай значение y' = y * b mod 256
6. Подсчитай i = x' + y' mod 256
7. И i' = (i^(i>>c))*d mod 256
8. Полученное число используй как индекс в массив рандомов. Если тебе ч/б надо, то i' и есть твой цвет.
9. ПРОФИТ! Такой рандом за несколько умножений, сложение и шифт куда быстрее, чем в библиотечных функциях. А может нет, лол. Но ты точно получишь 500 фпс в окне 800x600. К тому же тут нет состояния, можно распараллелить -> пару тыщ фпс в кармане. А если на GPU выгрузишь вычисления, то получишь заветные 6200 fps.
Исходная версия
deadplace,
:
Я почитал тред и кажется понял,что хочет ТС.
1. ТС, возьми любой ЯП, где есть обвязка к SDL2 (SDL1.24. Подсчитай значение x' = x * a mod 256 тоже сойдет, он просто старый).
2. Как тебе сказали, у тебя нет нужды писать в память непоследовательно, организуй цикл правильно.
3. Нагенерируй массив из 256 рандомных цветов.
4. Подсчитай значение x' = x * a mod 256 (возьми a каким-нибудь простым типа 53 или 13).
5. Подсчитай значение y' = y * b mod 256
6. Подсчитай i = x' + y' mod 256
7. И i' = (i^(i>>c))*d mod 256
8. Полученное число используй как индекс в массив рандомов. Если тебе ч/б надо, то i' и есть твой цвет.
9. ПРОФИТ! Такой рандом за несколько умножений, сложение и шифт куда быстрее, чем в библиотечных функциях. А может нет, лол. Но ты точно получишь 500 фпс в окне 800x600. К тому же тут нет состояния, можно распараллелить -> пару тыщ фпс в кармане. А если на GPU выгрузишь вычисления, то получишь заветные 6200 fps.