powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вычисление длины utf-8 строки в compile time
25 сообщений из 76, страница 2 из 4
Вычисление длины utf-8 строки в compile time
    #39982294
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
PetroNotC Sharp
AmKad,

У OpenGL разве не в Canvas. У которого есть Pаint. С длиной текста методом?
Не знаю что такое canvas и paint. У openGL(ES) нет функций для вывода текста. Только многоугольники. В случае ES - треугольники. Вообще, если интересно покопаться в моем говнокоде и закидать меня помидорами, могу дать ссылку на репозиторий.

Вроде Canvas счас даже у электрочайников.
Типо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
// Create an empty, mutable bitmap
            Bitmap bitmap = Bitmap.createBitmap(256, 256, Bitmap.Config.ARGB_4444);
                // get a canvas to paint over the bitmap
            Canvas canvas = new Canvas(bitmap);
            bitmap.eraseColor(0);

            // get a background image from resources
            // note the image format must match the bitmap format
            Drawable background = context.getResources().getDrawable(R.drawable.background);
            background.setBounds(0, 0, 256, 256);
            background.draw(canvas); // draw the background to our bitmap

            // Draw the text
            Paint textPaint = new Paint();
            textPaint.setTextSize(32);
            textPaint.setAntiAlias(true);
            textPaint.setARGB(0xff, 0x00, 0x00, 0x00);
            // draw the text centered
            canvas.drawText(text, 16,112, textPaint);

            // Bind to the texture in OpenGL
            GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);

            // Set filtering
            GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
            GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);

            // Load the bitmap into the bound texture.
            GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);

            // Recycle the bitmap, since its data has been loaded into OpenGL.
            bitmap.recycle();
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982298
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Это java? Canvas - это абстракция поверх openGL. В самом openGL ее нет. Как заставить это работать под iOS?
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982299
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
PetroNotC Sharp
Глянул статью - опять игрушки.
Понятно.
Да. Увы, на что-то серьезное я не способен
не, вы профи.
Я просто openGl десктопный использовал для 3D, и мало представляю его где нибудь в корпоративе.
Имхо
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982300
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
PetroNotC Sharp,

Это java? Canvas - это абстракция поверх openGL. В самом openGL ее нет. Как заставить это работать под iOS?

Не подскажу.
Я писал в андроид на родном ЯП - java.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982308
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
не, вы профи.
Имхо
Да нет, профи бы сделал такое (SDF рендеринг шрифтов, одноцветных иконок и вообще одноцветных элементов, масштабируемых на уровне видеокарты практически без потери качества) за неделю. У меня с изучением вопроса до текущей реализации несколько месяцев ушло.

PetroNotC Sharp

Я просто openGl десктопный использовал для 3D, и мало представляю его где нибудь в корпоративе.
Если мы рассматриваем opengGL как альтернативу нативному UI, то несколько лет назад я видел скриншоты симпатичного банковского мобильного приложения от европейских разработчиков без использования нативного графического интерфейса. Вся работы через openGL-ные абстракции. Себе правда не ставил его, как UI ведет себя при взаимодействии - не щупал.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982313
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
не, вы профи.
Я просто openGl десктопный использовал для 3D, и мало представляю его где нибудь в корпоративе.
Имхо
А зря мало представляешь!
Современные Иксы достигают максимальной производительности рендеринга 2D через OpenGL - метод ускорения "Glamor" . Надо только настроить в xorg.conf правильный порядок загрузки модулей.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982314
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
>>Если мы рассматриваем opengGL как альтернативу нативному UI
Трудно судить. Мы его не видели. Корпоративный интерфейс для работы, он аскетичный.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982315
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
PetroNotC Sharp
не, вы профи.
Я просто openGl десктопный использовал для 3D, и мало представляю его где нибудь в корпоративе.
Имхо
А зря мало представляешь!
Современные Иксы достигают максимальной производительности рендеринга 2D через OpenGL - метод ускорения "Glamor" . Надо только настроить в xorg.conf правильный порядок загрузки модулей.
шейдеры применяют чтобы вычисления сместить с процессора в видеокарту.
Это нужно только в 3D и играх.
Остальное не тормозит.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982331
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем ее вычислять в compileTime? У вас-же ООП? Создавайте свой

Код: plaintext
1.
2.
3.
4.
class PetravString {
  int length; // in chars
  ...
}



расчитывайте длину eventually. И сохраняйте в переменную класса.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982333
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

+1
Как вверху класс Paint
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982341
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Зачем ее вычислять в compileTime? У вас-же ООП? Создавайте свой

Код: plaintext
1.
2.
3.
4.
class PetravString {
  int length; // in chars
  ...
}



расчитывайте длину eventually. И сохраняйте в переменную класса.

Compile time как бонус. У меня кое-где static_assert написаны на длину строк. Главное посчитать длину utf-8 строки.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982351
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
Зачем ее вычислять в compileTime? У вас-же ООП? Создавайте свой

Код: plaintext
1.
2.
3.
4.
class PetravString {
  int length; // in chars
  ...
}



расчитывайте длину eventually. И сохраняйте в переменную класса.

Compile time как бонус. У меня кое-где static_assert написаны на длину строк. Главное посчитать длину utf-8 строки.

А что это дает? Может лучше побыть lazy и вообще не расчитывать эту длину. Может за время твоего
теста строка и не понадобиться?
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982509
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
шейдеры применяют чтобы вычисления сместить с процессора в видеокарту.
Это нужно только в 3D и играх.
Остальное не тормозит.
Ещё как тормозит!
Ты можешь сам в этом убедиться - взять какую-нибудь плату на Intel baytrail, поставить Линух, прогнать тест графики в HardInfo, затем сменить конфигурацию по умолчанию с использованием:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Section "Module"
  Load    "dri2"
  Load    "glamoregl"
EndSection

Section "Device"
  Identifier  "Card0"
  Driver      "Intel"
  BusID       "PCI:0@0:2:0"
  Option      "RenderAccel" "glamor"
  Option      "DRI" "TRUE"
EndSection
и прогнать тест ещё раз. Разница будет в разы и заметна на глаз, особенно при перетаскивании окон или при анимации курсора мыши. Я уж молчу про воспроизведение видео FullHD...
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982519
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
шейдеры применяют чтобы вычисления сместить с процессора в видеокарту.
Это нужно только в 3D и играх.
Остальное не тормозит.
Шейдеры применяют не только в 3D-играх. Для того, чтобы нарисовать прямоугольник на плоскости - тоже нужен шейдер, хоть и тривиальный. Технология SDF, если я не ошибаюсь, была придумана в Valve - тоже рисование на плоскости, то есть 2D. Всякие эффекты типа огоньков, пламени, вспышки и т.п. - все это делается на шейдерах, в том числе и 2D.
Вот сходу нашел ссылку https://assetstore.unity.com/packages/vfx/shaders/2d-shader-collection-133046
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982551
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Я прикладник а не системщик. Сужу по конечному продукту.
Какое ПО на твоем устройстве тормозит?
ПО - прогаммное обеспечение.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982554
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Мне 2D игры не интересны. А ты про огоньки, вспышки...
Технологии умирают раз в 5 лет.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982558
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rdb_dev,

Я прикладник а не системщик. Сужу по конечному продукту.
Какое ПО на твоем устройстве тормозит?
ПО - прогаммное обеспечение.
Если не настрою в X'ах отрисовку 2D через OpenGL, тормозит абсолютно всё, использующее 2D графику ПО. Так доходчиво? :)
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982561
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,
Нет. Не дошло.
Передо мной Ось астра на дебиан.
Скажи что сломать чтобы тормозило всё.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982562
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, не поверишь, но передо мной тоже AstraLinux v2.12.29 с ядром v4.15.3-2-hardened 64-битная.
Чтобы тормозило всё, ничего ломать не надо! Надо просто ничего не настраивать. Поставь эту же Астру на baytrail с Celeron 1.9ГГц и удивись тормознутости без настройки.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982568
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно мы от длины строки перешли к OpenGL.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982577
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, жаль только, что в отличие от Debian, на AstraLinux не удастся поставить последнюю версию HardInfo, в которую встроен неплохой тест 2D отрисовки, из репозитория Debian без дополнительных приседаний. Астра сильно отстаёт по версиям пакетов.
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982579
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
PetroNotC Sharp, жаль только, что в отличие от Debian, на AstraLinux не удастся поставить последнюю версию HardInfo, в которую встроен неплохой тест 2D отрисовки, из репозитория Debian без дополнительных приседаний. Астра сильно отстаёт по версиям пакетов.

А зачем вы сидите на АстраЛинукс?
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982580
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, портируем свои виндовые приложения на AstraLinux. Дома у меня на основном компе Win10Pro, а на сетевом хранилище тестовая ветка Debian (bullseye).
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982581
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
petrav, портируем свои виндовые приложения на AstraLinux. Дома у меня на основном компе Win10Pro, а на сетевом хранилище тестовая ветка Debian (bullseye).

Я имел в виду почему именно Астра?
...
Рейтинг: 0 / 0
Вычисление длины utf-8 строки в compile time
    #39982582
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, продиктовано спецификой рыночного сегмента. Заказчику так надо.
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 2 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вычисление длины utf-8 строки в compile time
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]