0 / 0 / 0
Регистрация: 19.01.2026
Сообщений: 5

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

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

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

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

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

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

141
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
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
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,081
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru