Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 37587
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T14:34:26+00:00 2026-05-10T14:34:26+00:00

I haven’t programmed games for about 10 years (My last experience was DJGPP +

  • 0

I haven’t programmed games for about 10 years (My last experience was DJGPP + Allegro), but I thought I’d check out XNA over the weekend to see how it was shaping up.

I am fairly impressed, however as I continue to piece together a game engine, I have a (probably) basic question.

How much should you rely on C#’s Delegates and Events to drive the game? As an application programmer, I use delegates and events heavily, but I don’t know if there is a significant overhead to doing so.

In my game engine, I have designed a ‘chase cam’ of sorts, that can be attached to an object and then recalculates its position relative to the object. When the object moves, there are two ways to update the chase cam.

  • Have an ‘UpdateCameras()’ method in the main game loop.
  • Use an event handler, and have the chase cam subscribe to object.OnMoved.

I’m using the latter, because it allows me to chain events together and nicely automate large parts of the engine. Suddenly, what would be huge and complex get dropped down to a handful of 3-5 line event handlers…Its a beauty.

However, if event handlers firing every nanosecond turn out to be a major slowdown, I’ll remove it and go with the loop approach.

Ideas?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T14:34:27+00:00Added an answer on May 10, 2026 at 2:34 pm

    If you were to think of an event as a subscriber list, in your code all you are doing is registering a subscriber. The number of instructions needed to achieve that is likely to be minimal at the CLR level.

    If you want your code to be generic or dynamic, then you’re need to check if something is subscribed prior to calling an event. The event/delegate mechanism of C# and .NET provides this to you at very little cost (in terms of CPU).

    If you’re really concerned about every clock cycle, you’d never write generic/dynamic game logic. It’s a trade off between maintainable/configurable code and outright speed.

    Written well, I’d favour events/delegates until I could prove it is an issue.

    The only way you’ll truly know if it is an issue for you is by profiling your code — which you should do anyway for any game development!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 72k
  • Answers 72k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer I'm afraid that is not possible to reroute the audio… May 11, 2026 at 1:49 pm
  • added an answer Well Barbaros Alp give me following hint to solve this… May 11, 2026 at 1:49 pm
  • added an answer It looks like the engines posted are pretty much your… May 11, 2026 at 1:49 pm

Related Questions

No related questions found

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.