Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 19.01.2026
Сообщений: 5

Как стать успешным в С++

19.01.2026, 21:44. Показов 12211. Ответов 141
Метки нет (Все метки)

Дайте подробный или не очень гайд, хочу начать изучать c++, что стоит делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.01.2026, 21:44
Ответы с готовыми решениями:

Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным
Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что...

Определить сколько баллов ещё необходимо получить чтобы выступление на олимпиаде считалось успешным
Успешное выступление C++ ограничение по времени на тест: 1 секунда ограничение по памяти на...

а как думаете, можно ли стать ХОРОШИМ програмером абсолютно самостоятельно?
я не к тому что хочу попробывать. всё равно пойду на кодера. ну а ваше мнение?

141
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6289 / 3013 / 1051
Регистрация: 01.06.2021
Сообщений: 11,334
18.02.2026, 19:11
8Observer8, цель вертикальной синхронизации не в снижении нагрузки, а в синхронизации кадров игры/приложения с кадрами монитора. Очевидно, что при такой синхронизации fps игры/приложения будет ограничен на уровне fps монитора.
Допустим, если игра без вертикальной синхронизации выдает 150 fps и максимально нагружает ПК, а у тебя монитор всего на 60 Гц, то когда ты включишь вертикальную синхронизацию, то fps игры снизится с 150 до 60. То есть fps игры выровняется с частотой монитора. Ежу понятно, что если раньше игре нужно было в секунду прорисовать 150 кадров, то теперь ей нужно всего лишь обновлять 60 кадров в секунду, соответственно, нагрузка на устройство значительно снизится.
Однако, вертикальная синхронизация не всегда помогает. Например, если игра выдает 90 fps, а у тебя монитор имеет частоту 120 Гц, то после включения вертикальной синхронизации игра все равно должна будет прорисовать 90 кадров в секунду. И, кстати, толку от вертикальной синхронизации не будет.

А вот ограничитель FPS позволяет выставить ограничение на любое значение, даже меньше частоты монитора.

Добавлено через 1 минуту
Цитата Сообщение от 8Observer8 Посмотреть сообщение
В GLFW тоже это можно сделать, но с ещё большими костылями
в SFML (там используется OpenGL) ограничение можно выставить, но про GLFW не знаю

я вот смотрю в инете, действительно, для ограничения fps на произвольное значение в GLFW нужно писать целый костыль, тогда как ты можешь легко ограничить fps на уровне частоты монитора через glfwSwapInterval(1). Я бы даже сказал, что это обязательно нужно сделать, чтобы игра зря не прорисовывала больше кадров, чем монитор способен показать.
0
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 242
18.02.2026, 19:54
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я так ограничивал FPS вплоть до 1 FPS на SDL2:
Поясню, что 1 FPS может быть (якобы) полезным, если студенту дали задание в универе нарисовать статичный флаг какой-то страны без анимации, нарисовать блок-схему с помощью линий и текста, либо нарисовать график функции по формуле, например, y = sin(x) и т.д. Если задача на Си или C++, то он может взять SDL3, где есть встроенные средства для рисования линий, текста, картинок и т.д. Допустим, у студента слабый ноутбук и он НЕ использует VSync и ограничение FPS. Студент видит, что его проц или встроенная видюха тратит 30% . Студенту это не нравится и он может активировать VSync одной строкой кода в функции инициализации:

C++
1
SDL_SetRenderVSync(renderer, 1);
После этого у него даже на слабом ноутбуке будет 1-2 % (или доли процента) потребления CPU и GPU. Я считаю, что классно, так и оставить на VSync. Мне кажется, будет ошибкой копать дальше и беспокоиться, что приложение выполняет цикл с частотой монитора, допустим 60 Гц. Это лишнее запутывание кода, лишние строчки кода, лишнее беспокойство для других форумчан, кто будет читать код.

Добавлено через 20 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
цель вертикальной синхронизации не в снижении нагрузки, а в синхронизации кадров игры/приложения с кадрами монитора.
Я, конечно, знаю, что VSync для плавной анимации, но побочный эффект - это снижение нагрузки в 10 раз на бюджетных и старых ноутбуках и компьютерах.

Как пишет Gemini:
Технология V-Sync была придумана десятилетия назад не для того, чтобы беречь электричество, а для решения конкретной визуальной проблемы — разрыва кадра (Tearing).
  • Главная цель (техническая): Убрать «разрывы» картинки, когда монитор начинает рисовать новый кадр, не успев закончить старый.
  • Побочный эффект: Ограничение FPS и, как следствие, снижение нагрузки.
Я согласен, что технически VSync создан для устранения разрывов изображения. Но снижение нагрузки, как минимум, это равноценная цель, а как максимум более приоритетная. По сути, синхронизация частот - это механизм, а разгрузка железа - это его прямой и крайне полезный результат.

Я не задумывался, но у VSync есть побочный эффект - называется Stuttering, который мне объяснил Gemini:

Проблема «заикания» (Stuttering)

Тут есть важный технический нюанс, который автор форума не расписал. Если FPS (90) меньше частоты обновления монитора (120), обычный V-Sync часто работает «коряво»:
  • Так как 120 не делится на 90 ровно, монитору приходится показывать некоторые кадры по два раза, а некоторые — по одному.
  • Из-за этого изображение кажется менее плавным (появляются микро-рывки), хотя V-Sync включен.

Итог: V-Sync бесполезен для снижения нагрузки, если ваш компьютер и так не выдает столько кадров, сколько «просит» монитор. В таких случаях для экономии энергии или тишины лучше использовать принудительный ограничитель кадров (например, выставить лимит 60 FPS в настройках игры или драйвере).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2026, 19:54

Как стать крутым программистом?
Ja tut pocital forum, i toze hociu stat krutim programistom, i neprosto programirovat, a umet iskat...

Как стать экспертом в C++?
Как стать экспертом в C++?

Как стать программистом
В общем ситуация такая, изучаю с++(почти год) и с# пару месяцев. Вот задумался что я должен знать и...

Как стать хорошим программистом?
Здравствуйте Уважаемые программисты.. Я учусь на 2 курсе на ИСИТ... И Я люблю программировать и это...

Как стать программистом сетевых устройств
Добрый день! Программирую микроконтроллеры на языке Си и С++ Хочу освоить новую область -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
142
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru