Перейти к содержимому


Фотография

NeoX - Графическая библиотека


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 Оффлайн   NeoKat

NeoKat
  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородАрхангельск

Отправлено 22 Август 2015 - 22:23

​Описание:

Спойлер

​Требования:
Спойлер

Функции:
Спойлер

 

Ведётся работа над:

Спойлер
 

В будущем:

Спойлер
 

Скачать:

Спойлер

P.S.'ки: 
Спойлер


Сообщение отредактировал NeoKat: 29 Август 2015 - 17:46


#2 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 22 Август 2015 - 22:29

Во первых: "фууу-ник украл у НЕО, плахой!!!!111!1!одинодинодиню!!!!".
Во вторых: и где твой DX, в Китае?
В третьих: СС нет.

#3 Оффлайн   NeoKat

NeoKat
  • Автор темы
  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородАрхангельск

Отправлено 22 Август 2015 - 22:46

Во первых: "фууу-ник украл у НЕО, плахой!!!!111!1!одинодинодиню!!!!".

Я у него никнейм не тырил
У меня много никнеймов: EnderKat, CyanKat, TechKat, NeoKat, NeoMeow, MewKat, DarkKat, SpyKat

Во вторых: и где твой DX, в Китае?

Уже выложил

В третьих: СС нет.

Всмысле ?

Сообщение отредактировал NeoKat: 22 Август 2015 - 22:49


#4 Оффлайн   Ktlo

Ktlo
  • Пользователи
  • Сообщений: 115
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

                 

Отправлено 23 Август 2015 - 01:05

Всмысле ?

 

На этом сервере нет.

 

Смысла данной либы нет, т.к. параллельная отрисовка у тебя всё равно не выйдет. Параллельность сможет сработать только при использовании функций, приостанавливающих действие каждого потока: coroutine.yield(), sleep(), os.pullEvent(), os.pullEventRaw() и т. д.


  • Mecopy6ka и swg2you это нравится

#5 Оффлайн   NeoKat

NeoKat
  • Автор темы
  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородАрхангельск

Отправлено 23 Август 2015 - 06:17

На этом сервере нет.

Смысла данной либы нет, т.к. параллельная отрисовка у тебя всё равно не выйдет. Параллельность сможет сработать только при использовании функций, приостанавливающих действие каждого потока: coroutine.yield(), sleep(), os.pullEvent(), os.pullEventRaw() и т. д.

Параллельная отрисовка у меня уже вышла...

Сообщение отредактировал NeoKat: 23 Август 2015 - 06:18


#6 Оффлайн   Krutoy

Krutoy
  • Гуру
  • Сообщений: 499
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

              

Отправлено 23 Август 2015 - 08:44

Норм, это может быть полезно. Но лучше делай кросс-платформенно.



#7 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 212
  • Уровень сигнала: 14,44%
  • В игре: 117 час. 41 мин.
  • ГородЛуна

Награды

                       

Отправлено 23 Август 2015 - 11:29

А не лучше ли будет смотреть на изменения элементов графики и если что-то изменилось не отрисовывать все, а отрисовывать только то что изменилось?

#8 Оффлайн   NeoKat

NeoKat
  • Автор темы
  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородАрхангельск

Отправлено 23 Август 2015 - 12:23

А не лучше ли будет смотреть на изменения элементов графики и если что-то изменилось не отрисовывать все, а отрисовывать только то что изменилось?

Он затирает стек после каждой отрисовки


Норм, это может быть полезно. Но лучше делай кросс-платформенно.

У меня всё плохо с OC, но я сейчас и пытаюсь сделать NeoX кросс-платформенным



#9 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 229
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 25 Август 2015 - 09:04

Что то я не до конца понял смысла библиотеки. Зачем засовывать данные в рендер-стек, что бы другой поток занимался отрисовкой? Чем обычный print хуже NeoX.Neo2D.Text?



#10 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 767
  • Уровень сигнала: 48,58%
  • В игре: 395 час. 50 мин.

Награды

                 

Отправлено 25 Август 2015 - 11:26

Что то я не до конца понял смысла библиотеки. Зачем засовывать данные в рендер-стек, что бы другой поток занимался отрисовкой? Чем обычный print хуже NeoX.Neo2D.Text?

 

Я когда игрался с параллельАПИ, то при попытке принтить что-то и рисовать где-то разными функциями в разных даже окнах наступает полный анал-карнавал. 

Кто и в какой микро-момент дернет принт, или gpu.set, или начнет перемещать курсор, или поменяет бэкграунд и прочее, одному криперу известно. На экране может наступить каша и инфа принтанется совершенно в неожиданном месте или поменяется форэграунд внезапно на полстроки)))

 

Я всегда делал с параллелью только одну функцию, которая отвечает за фрейм отрисовку, а уже что-то там в фоне что угодно меняется, значения стрингов, вычисления какие-то, ивенты, сеть работает и прочее. Так же как и с файлами. Если полезет писать в один файл функция, а он открыт для чтения уже другой функцией, тоже наступает бяка. Видимо автор и решил все хранить в стеке, как у нас в принципе и хранятся ивенты в пулах и прочее, и уже конкретно кто-то один, какой-то один конкретный процесс, занимается  рендером.

 

По идее, при параллели нужно все запросы на чтение, запись, рисование, команды какие-то, инструкции от параллельных процессов и прочее кидать в стэк, а уже конкретный обработчик  быстренько обрабатывает буфер и чистит его. Нужно максимально все процессы разнести друг от  друга, чтобы они нигде и никогда (!) не перехлестывались ни при каких обстоятельствах.



#11 Оффлайн   NeoKat

NeoKat
  • Автор темы
  • Пользователи
  • Сообщений: 10
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородАрхангельск

Отправлено 29 Август 2015 - 13:50

Почти сделал версию для OC (Больше не буду пользоваться CC :3)
P.S. В OC больше функционала, больше стек не понадобится (но по моему библиотека всё-равно хорошая :3)
P.P.S. Проблема с рендером текста... (но ошибка мне не о чём не говорит) Проблема исправлена (но я ничего не сделал :3)
P.P.P.S. Уже работаю над NeoX.Neo3D :3

 
 

Я когда игрался с параллельАПИ, то при попытке принтить что-то и рисовать где-то разными функциями в разных даже окнах наступает полный анал-карнавал.  Кто и в какой микро-момент дернет принт, или gpu.set, или начнет перемещать курсор, или поменяет бэкграунд и прочее, одному криперу известно. На экране может наступить каша и инфа принтанется совершенно в неожиданном месте или поменяется форэграунд внезапно на полстроки)))

 
 
По этой причине я не мог сделать для своей лаборатории (в одиночке конечно) GUI для "Центрального компьютера", поэтому я и начал делать эту библиотеку :3


Сообщение отредактировал NeoKat: 29 Август 2015 - 17:42





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных