LINUX.ORG.RU

История изменений

Исправление 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.